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中,从而实现排序功能.