stl::list自带的sort算法STL中的list容器貌不支持标准的sort方法,貌只有能够提供随机访问的容器(例如vecto
stl::list自带的sort算法
STL中的list容器貌似不支持标准的sort方法,貌似只有能够提供随机访问的容器(例如vector)才支持stl各种快速排序算法,为此,编写stl的天才们:)为list自身内部实现了sort的方法,并提供sort接口.
如果你用list来储存类结构的话,可以为你的类重载<(小于)运算符,那样的话你可以用类似以下方便的方法来为你的链表排序:
struct MyListSort : public binary_function <MyList*, MyList*, bool> {bool operator()(MyList* _Left, MyList* _Right) const{if(_Left->size > _Right->size)return true;return false;}};//....MyListSort mls;mylist.sort(mls);//...