📜  C++ STL中的std :: list :: sort(1)

📅  最后修改于: 2023-12-03 14:59:46.768000             🧑  作者: Mango

C++ STL中的 std::list::sort

概述

std::list::sort 是 C++ 标准库中 std::list 容器的成员函数之一,用于对链表中的元素进行排序。它通过比较元素的值来确定排序顺序,并根据指定的排序准则对列表进行重排。

语法

sort 函数的语法如下:

void sort(Compare comp = Compare());

comp 是一个可选的比较函数对象参数,用于指定排序的准则。如果不提供该参数,则使用默认的 < 操作符进行比较。

参数
  • comp:可选,比较函数对象。默认情况下按照元素的 < 操作符进行排序。
返回值

void

示例

以下是一个示例程序,演示了如何使用 std::list::sort 函数对一个链表进行排序:

#include <iostream>
#include <list>

int main() {
    std::list<int> myList = {5, 2, 8, 3, 1};

    myList.sort(); // 使用默认排序准则

    std::cout << "Sorted list: ";
    for (const auto& num : myList) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

以上代码将输出:

Sorted list: 1 2 3 5 8
注意事项
  • std::list::sort 函数对链表元素的排序是稳定的,即元素相等时不会改变它们的相对顺序。
  • 如果链表的元素类型不支持 < 操作符,需要提供自定义的比较函数。
  • std::list 是双向链表,因此 std::list::sort 不会涉及元素的移动,而是通过改变节点之间的连接来进行排序。

更多关于 std::list::sort 的详细信息,请查阅 C++ 文档