順序容器
順序容器有以下三種:可變長動態陣列 vector、雙端佇列 deque、雙向鍊錶 list。
它們之所以被稱為順序容器,是因為元素在容器中的位置同元素的值無關,即容器不是排序的。將元素插入容器時,指定在什麼位置(尾部、頭部或中間某處)插入,元素就會位於什麼位置。
關聯容器
關聯容器有以下四種:set、multiset、map、multimap。關聯容器內的元素是排序的。插入元素時,容器會按一定的排序規則將元素放到適當的位置上,因此插入元素時不能指定位置。
所有容器都有以下兩個成員函式:
int size():返回容器物件中元素的個數。
bool empty():判斷容器物件是否為空。
順序容器和關聯容器還有以下成員函式:
begin():返回指向容器中第乙個元素的迭代器。
end():返回指向容器中最後乙個元素後面的位置的迭代器。
rbegin():返回指向容器中最後乙個元素的反向迭代器。
rend():返回指向容器中第乙個元素前面的位置的反向迭代器。
erase(...):從容器中刪除乙個或幾個元素。該函式引數較複雜,此處省略。
clear():從容器中刪除所有元素。
如果乙個容器是空的,則 begin() 和 end() 的返回值相等,rbegin() 和 rend() 的返回值也相等。
順序容器還有以下常用成員函式:
front():返回容器中第乙個元素的引用。
back():返回容器中最後乙個元素的引用。
push_back():在容器末尾增加新元素。
pop_back():刪除容器末尾的元素。
insert(...):插入乙個或多個元素。該函式引數較複雜,此處省略。
STL相關容器特徵總結
1.vector vector對於資料的操作,與array比較相似,都是乙個連續線性空間。差別在於array申請完空間後就不能進行改變,而vector可以進行動態的控制。2.stack 堆 stack是乙個先進後出的資料結構。它只有乙個出口,所以它是沒有遍歷這個行為的。3.queue 佇列 queu...
STL容器相關內容
序列容器 vector,list,deque,string.關聯容器 set,multiset,map,mulmap,hash set,hash map,hash multiset,hash multimap 其他的雜項 stack,queue,valarray,bitset vector 內部資料...
GDB除錯STL中的相關容器
在老版本的gdb中 應該是7.0以前 除錯stl容器還是比較麻煩的,直接print會出來一大串無用的資訊 對此比較好的解決方法是使用stl views 1.0.3.gdb,然後進入gdb,輸入source stl views 1.0.3.gdb 假設stl views 1.0.3.gdb在你當前目錄...