4/4/2019 4:50:15 pm
2 set:集合
3 string
開始時候引入
#includeusing namespace std;
typename 可以是 int double char node
vectorname;
vector陣列 其中 arrayname[0]~arrayname[size-1]都是vector容器
vectorarrayname[size]
(1)下標訪問
vi[index]
(2)迭代器
取vi首位址
vector::iterator it = vi.begin();
typename i =*it;
(1)push_pack(x)新增乙個元素
(2)pop_back()刪除最後乙個
(3)size()
(4)clear()
(5)insert 向任意迭代器位置插入
//vi 初始為 1 2 3 4 5
vi.insert(vi.begin()+2, -1)
//此時 1 2 -1 3 4 5
(6)erase()
//vi 初始化 1 2 3 4 5
vi.erase(vi.begin()+3)
//此時 1 2 3 5
earse(first,last) 刪除[first,last)內元素
vi.erase(vi.begin()+1,vi.begin()+4)
//刪除vi[1] vi[2] vi[3]
內部自動排序,不含有重複元素
setsetname;
不能通過下標訪問 只能迭代器列舉
for(set::iterator it=st.begin(); it!= st.end(); it++)
(1)insert
插入後自動排序去重
(2)find
查詢某個元素
(3)erase size clear
同vector
c語言中用char放字串,stl中有string「# include」
string str;
string str="abcd";
(1)下標訪問
string str = "abcd";
str[0];//a
(2)迭代器 同vector可對迭代器加減某個數字
(1) += 可以拼接兩個string
(2)< <= > >= 比較字典序
(3)length() size()
(4)insert()
//兩種
//插入指定位置
insert(pos,string)
//待插入字串被分割插入pos
insert(pos,it_first,it_end)
(5)erase
//刪除單個元素
str.erase(it)
str.erase(str.begin()+1)
//刪除乙個區間內所有元素
str.(it_first,it_end)
//刪除乙個區間內所有元素
str.erase(pos,length)
//初始化abcdefg 刪除3號開始的2個字元 de
str.erase(3,2)
(6)substr
substr(pos,len)
返回從pos位置開始、長度為len的子串
//初始化 abcdefgh
//返回 bcdef
str.substr(1,5)
(7)find返回string中第一次出現的位置
//匹配失敗是返回值
string::npos
//初始化abcdefg
//值為0
str.find("abc")
//值為string::npos
str.fing("xyz")
(8)repalce()
//位置 長度 替換為 str2
str.replace(pos,len,str2)
//初始化「abcdefg」
//返回ahellodefg bc替換為hello
str.replace(1,2,"hello")
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 常用容器 list
鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相較於vector的連續線性空間,l...
C STL容器學習(一)
容器 一些特定型別物件的集合 順序容器 vector list forward list vector 可變大小陣列,支援快速隨機訪問 list 雙向鍊錶,只支援雙向順序訪問 forward list 單向鍊錶,只支援單向順序訪問 迭代器 迭代器 iterator 是一種物件,它能夠用來遍歷標準模板...