容器:一些特定型別物件的集合
順序容器:vector、list、forward_list
vector:可變大小陣列,支援快速隨機訪問
list:雙向鍊錶,只支援雙向順序訪問
forward_list:單向鍊錶,只支援單向順序訪問
迭代器:迭代器(iterator)是一種物件,它能夠用來遍歷標準模板庫容器中的部分或全部元素,每個迭代器物件代表容器中的確定的位址。迭代器的本質就是乙個指標。
乙個迭代器範圍由一對迭代器表示:begin和end,begin指向容器中的第乙個元素,end指向尾元素之後的乙個位置。
容器定義和初始化:列表初始化
容器中元素的新增:push_back,push_front,insert
容器中元素的刪除:pop_front,pop_back,erase
向容器中新增元素或刪除元素可能會使指向容器元素的指標、引用或迭代器失效。
#include #include #include #include #include using namespace std;
int main()
;//names為list模板類的例項
list::iterator it;//iterator 為list容器的迭代器型別
for(it = names.begin();it!=names.end();it++)
/*可以將const char*元素轉換為string */
listfood = ;
vectorpeople = ;
forward_listwords(people.begin(),people.end());
/*assign可以實現容器的賦值*/
/*可以將const char*元素轉換為string */
names.assign(people.begin(),people.end());
/*swap操作交換兩個相同型別容器的內容*/
swap(food,names);
for(it = names.begin();it!=names.end();it++)
cout << "順序容器的操作" <> word;
names.push_back(word);
names.push_front(word);
}#endif
for(it = names.begin();it!=names.end();it++)
/**向容器中的特定位置新增元素**/
/**insert函式將元素插入到迭代器所指定的位置之前**/
names.insert(names.begin(),"nancy");
for(it = names.begin();it!=names.end();it++)
return 0;
}
C STL常用容器(一)
使用時需要包含標頭檔案 include 1.初始化vector vec 16 定義了已知長度16的vector vector vec 64,2 定義了初值為2長度64的vector vector vec a 用a向量來建立向量 vector vec a.begin i,a.begin j 定義了值為...
C STL常用容器 一
4 4 2019 4 50 15 pm 2 set 集合 3 string 開始時候引入 includeusing namespace std typename 可以是 int double char node vectorname vector陣列 其中 arrayname 0 arrayname...
C STL容器的學習 vector
簡單點來說vector就是乙個模板類,而且是連續的 list不是連續的 刪除中間的任意乙個元素,後面的元素都需要往前移動,但對於陣列來說,它可以擴容.vectorv1 最大容量,初始值 vetcorv1.push back i 向v1的尾部插入i vectorv1.預設v1為空,故不能賦值 vect...