目录
虽然STL中提供了标准的sort函数,但是它只适用于随机存取的容器,而显然list并不是这样的容器,因此list提供了专用的链表排序函数,虽然同样名为sort,但是这个sort函数是list类的成员函数。
在分析list的sort函数之前,有必要先简单了解一下list其它几个相关的成员函数。
swap函数:传入参数为一个list时,函数作用是将当前list和参数list互换;
splice函数:传入的第一和第三参数为迭代器(分别记为X和Y),第二个参数为一个list时,函数作用是把参数list中Y迭代器所指的元素移动到当前list的X迭代器所指的位置,移动后参数list中不再存在该元素;
merge函数:传入参数为一个list和一个比较函数cmp时,函数的作用是把参数list和当前list按照比较函数cmp进行排序,这个函数结果正确的前提是参数list和当前list均必须事先满足cmp所定义的排序方式(如果cmp是严格弱排序比较,那么两个list都必须事先满足严格弱排序),相当于是合并两个有序链表。