幫你瞬間理清STL各容器與其排序算法sort()的關係!!!

STL的所有關聯型容器都有自動排序的功能(底層結構採取RB-tree),所以不需要用到這個sort算法。

至於序列式容器中的stack、queue和priority-queue都有特定的出入口,不允許用戶對元素進行排序。

剩下的vector、deque和list,前兩者的迭代器都屬於RandomAccessIterators,適合使用sort算法,list的迭代器則屬於BidirectionalIterators,不在STL標準之列的slist,其迭代器更屬於ForwardIterator,都不適合使用sort算法,如果是要對list或者slist中的元素進行排序,應該使用他們自己的member function sort()。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章