本篇文章內容基本**於c語言中文網,根據其內容進行簡化 ,留作自我複習使用 。
c++ 的標準模板庫(standardtemplatelibrary)是泛型程式設計最成功應用的例項 。stl是一些常用資料結構和演算法的模板的集合 。
順序容器關聯容器容器介面卡(也簡稱容器)
舉例 :棧stack
、佇列queue
、優先佇列priority_queue
運算子操作任何兩個容器物件,只要它們的型別相同,就可以用成員函式<
、<=
、>
、>=
、==
、!=
進行詞典式的比較運算。
所有容器都有以下兩個成員函式 :
順序容器和關聯容器還有以下成員函式 :注 :如果乙個容器是空的 ,則
begin()
和end()
的返回值相等,rbegin()
和rend()
的返回值也相等 。
順序容器還有以下常用成員函式 :
正向迭代器:容器類名::iterator 迭代器名;
常量正向迭代器 :容器類名::const_iterator 迭代器名;
反向迭代器:容器類名::reverse_iterator 迭代器名;
常量反向迭代器 :容器類名::const_reverse_iterator 迭代器名;
程式示例 :
#include
using namespace std;
intmain()
vector<
int>
::iterator x;
//定義乙個 vector 的迭代器 x
for(x=v.
begin()
;x!=v.
end();
++x)
return0;
}
使用注意事項 :不同容器的迭代器,其功能強弱有所不同。容器的迭代器的功能強弱,決定了該容器是否支援 stl 中的某種演算法 。
容器迭代器功能
vector
隨機訪問
deque
隨機訪問
list
雙向set / multiset
雙向map / multimap
雙向stack
不支援迭代器
queue
不支援迭代器
priority_queue
不支援迭代器
使用時應包含標頭檔案
C STL簡單介紹
stl standard template library,標準模板庫 是c 對泛型程式設計思想的實現,最早是惠普實驗室開發的。在被引入c 之前該技術就已經存在了非常長的一段時間。後來stl成為ansi iso c 標準的一部分。各個 c 廠商也有各自對應的模板庫,這些庫效率可能非常高,但可移植性不...
C STL簡單介紹
5.容器演算法迭代器初識 stl大體分為六大元件,分別為 容器,演算法,迭代器,仿函式,介面卡 配接器 空間配置器 容器 各種資料結構 如vector,list,deque,set,map等,用來存放資料 演算法 各種常用的演算法 如sort,copy,for each等 迭代器 扮演了容器與演算法...
C STL簡單應用
include include include 容器 陣列的增強版 include 去重,排序 include 自動建立key value對應 include 棧 先進後出 include 佇列 先進先出 using namespace std int main vector v a,a 3 不能直...