C++中STL和容器、迭代器、算法之间的关系
自學習C++以來,一直對STL、容器、迭代器、算法甚是困惑。
參考一些資料,加上自己的理解,整理如下
如果說程序等于數據結構+算法,STL就是一個小程序庫,之所以說小,是因為容器模板中常用的函數有限,其中一個個容器就是一種數據結構.算法通過迭代器對容器中的數據進行訪問,即形成一個個小程序。
在使用容器之前首先要根據自己使用的數據集和將要對數據結構采取的訪問模式,比如增刪改查,決定使用STL中的何種容器類型。
一、容器類型:
二、迭代器:
我們使用容器的時候,迭代器是一個不可分割的部分。迭代器在STL中用來將算法和容器聯(lián)系起來,起著一種膠著劑的作用。迭代器是一種檢查容器內元素并遍歷元素的數據類型。迭代器是一種行為類似指針的對象,它提供類似指針的功能,對容器成員的內容進行訪問。
注意:每個迭代器是和每一個容器綁定的。
三、容器模板中常用的算法:
assign() 賦值
empty() 容器為空則返回非0值
erase() 刪除指定位置或指定范圍內的元素
push_front() 從容器頭部插入元素
push_back() 從容器尾部插入元素
pop_front() 刪除第一個元素
pop_back() 刪除最后一個元素
back() 返回最后一個元素的引用
front() 返回第一個元素的引用
begin() 返回指向第一個元素的游標
end() 返回指向最后一個元素后一個位置的游標
四、代碼實現
運行結果:
總結
以上是生活随笔為你收集整理的C++中STL和容器、迭代器、算法之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++for循环中i++与++i的区别
- 下一篇: 无迹卡尔曼学习