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

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

C++ STL中的std::forward_list::sort()

std::forward_list是C++ STL中的一个单向链表容器。它是与std::list类似的容器,但它只想这个方向移动。其中的节点只有一个指针指向下一个节点,没有指向上一个节点的指针。std::forward_list在许多情况下都是比std::list更加高效的代替品。

std::forward_list提供了一个名为sort()的函数。该函数可以对列表中的元素进行排序。排序算法可以自定义,但默认情况下使用快速排序。

语法
void sort(); 
参数

该函数没有参数。

返回值

该函数没有返回值。

示例

以下是一个简单的示例,展示了如何使用std::forward_list::sort()对单向链表进行排序。

#include<iostream> 
#include<forward_list> 

using namespace std; 

void printList(forward_list<int> flist){
    for (auto it = flist.begin(); it != flist.end(); it++)
        cout << *it<<" ";
    cout << endl;
}

int main()
{
    forward_list<int> flist1 = {5, 3, 7, 1, 0, 9};
    cout << "Original list: ";
    printList(flist1);

    flist1.sort();
    cout << "Sorted list (in ascending order): ";
    printList(flist1);

    return 0;
}

输出结果如下:

Original list: 5 3 7 1 0 9 
Sorted list (in ascending order): 0 1 3 5 7 9 

我们定义了一个名为flist1forward_list对象,其中包含6个整数元素。我们使用printList函数输出原始列表,然后使用sort函数对其进行排序。最后,我们再次使用printList函数输出已排序的列表。

总结

std::forward_list::sort()函数是对单向链表进行排序的函数。它可用于按升序或降序对元素进行排序,可以自定义排序算法。在排序操作之前,确保要排序的forward_list已包含元素。