STL C++ Vector用iterator遍歷和反轉(zhuǎn)
Vector用iterator遍歷和反轉(zhuǎn)
????vector是C++中的順序存儲容器,iterator是迭代器。二者配合使用可以非常方便的對一串數(shù)據(jù)經(jīng)行增刪查改。思想邏輯和其他數(shù)據(jù)并無本質(zhì)區(qū)別。
一些故名思意的方法:
begin()?迭代器定位到vector的頭部
end()?迭代器定位到vector尾部
push_back(x) 添加元素到末尾
pop_back() 從末尾彈出元素
insert(iterator it, x) 在迭代器指向的地方插入數(shù)據(jù)
clear()?清空向量中所有元素
還有許多函數(shù)在菜鳥中有寫:
https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html
首先是聲明這個vector和iterator
vector表明位置有:
????begin()方法:表示開頭index
????end()方法:表示結(jié)尾index
可以將這個賦值給迭代器,使他能夠通過索引尋找順序容器中的值。
用iterator來遍歷vector:正向遍歷和逆向遍歷。
insert()是一個非常耗時的操作。使用一個中間變量,然后用反向迭代器去遍歷效率會高很多。所以需要反轉(zhuǎn)vector的話,不建議使用insert()方法把數(shù)據(jù)插入頭部。
?使用另一個vector來存反轉(zhuǎn)的vector耗時稍微短一些
標簽: