list不能使用stl算法sort(),必须使用自己的sort()member function ,因为STL算法sort()只接受RamdonAccessIterator
在list的sort函数中,使用了多个中间数据存放区,将list中的每一个数据单独放在一个临时的list中,最后对这n个list调用merge函数(merge函数将x合并到*this上,两个lists的内容都必须先经过递增排序),因为每个临时lists中只有一个元素,因此自然有序,通过不断调用merge函数使新的list实现有序,最后把新list的内容copy到原始list中,从而实现排序功能.
本文详细解释了如何在不使用STL算法sort()的情况下,通过自定义sort()成员函数对list进行排序的过程。文章阐述了sort()函数内部的工作原理,包括如何利用多个中间数据存放区来实现高效排序,并最终通过merge函数完成排序操作。
1562

被折叠的 条评论
为什么被折叠?



