📅  最后修改于: 2023-12-03 14:59:46.738000             🧑  作者: Mango
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
我们定义了一个名为flist1
的forward_list
对象,其中包含6个整数元素。我们使用printList
函数输出原始列表,然后使用sort
函数对其进行排序。最后,我们再次使用printList
函数输出已排序的列表。
std::forward_list::sort()
函数是对单向链表进行排序的函数。它可用于按升序或降序对元素进行排序,可以自定义排序算法。在排序操作之前,确保要排序的forward_list
已包含元素。