STL學習筆記 序列式容器list

2021-07-06 00:04:44 字數 664 閱讀 6854

由於vector的使用,經常會出現迭代器錯誤,主要是因為vector在每次更改完資料就會重新配置,迭代器就會失效,list的結構和vector的設計差異決定了list在這方面具有優越性,list的insert和splice操作不會造成迭代器失效,並且erase也只會是讓當前元素的迭代器失效。

list的結構如下:就是乙個雙向鍊錶的設計結構

templatestruct list_node

;

看一段測試**了解list:

#include #include #includeusing namespace std;

int main()

cout<

下面看一下部分操作的**:

#include #include #includeusing namespace std;

int main()

; int b=;

listilist1(a,a+5),ilist2(b,b+5);

list::iterator ite=find(ilist1.begin(),ilist1.end(),4);

ilist1.splice(ite,ilist2);

for (ite=ilist1.begin();ite!=ilist1.end();++ite)

cout<

STL學習筆記 序列式容器deque

上一次說了list,現在再看一下序列式容器的另外幾種,常用的stack,queue,還有乙個deque,這個我不常用,所以先看一下deque的用法 1.deque vector是單向開口的連續線性空間,list是不連續的空間,支援兩邊操作,deque是一種雙向開口的連續線性空間,支援兩邊操作。由於d...

STL 序列式容器細節

stl 序列式容器細節 一 概論 1 序列式容器 array build in c 內建 vector heap內含乙個vector priority queue內含乙個heap list slist deque stack內含乙個deque queue內含乙個deque 2 關聯式容器 rb tr...

STL序列式容器 heap

stl heap主要有以下幾種操作組成 make heap,建堆 sort heap,堆排序 pop heap,取出堆頂元素 push heap,調整堆 heap並不歸屬於stl容器元件,它是個幕後英雄,扮演priority queue的助手。binary max heap適合作為priority ...