stl簡介筆記
stl(standard template library),即標準模板庫,是乙個具有工業強度的,高效的c++程式庫。
stl是所有c++編譯器和所有作業系統平台都支援的一種庫。
1。stl的組成
1)容器(container)
2)迭代器(iterator)
3)演算法(algorithm)
4)函式物件(function object)
5)介面卡(adaptor)
6)空間配製器(allocator)
容器類是容納、包含一組元素或元素集合的物件;
向量(vector)
雙端佇列(deque)
列表(list)
集合(set)、多重集合(multiset)
對映(map)和多重對映(multimap)
stl容器分為兩類(這兩者通過資料在容器內的排列來區分)
序列式容器
每個元素都有固定位置--取決於插入時機和地點,和元素值無關,
vector、deque、list;
關聯式容器
元素位置取決於特定的排序準則,和插入順序無關
set、multiset、map、multimap;
#include
#include
#include
using namespace std;
void display(vector &v2);
int main()
cout<<「display the data before sort」#include
#include
using namespace std ;
int main()
cout<<"list: "; // 輸出鍊錶
list::iterator p=link.begin();
while(p!=link.end())
cout << endl;
}set的基本原理分析
將插入的值(第乙個運算元)與樹根(第二個運算元)(紅黑樹,二叉排序樹)進行比較,如果返回值是true,則在左子樹中進行插入
否則在右子樹中進行插入。
#include
#include
using namespace std;
int main()
map::iterator point,loc;
for(point=balloon.begin();point!=balloon.end();point++)
if(imaxsecond)
cout
介面卡的優點是:能夠使程式設計師選擇一種合適的底層資料結構。
這三個介面卡類都提供了成員函式push和pop,能夠在每個介面卡資料結構中正確地插入和刪除元素。
優先佇列
#include
#include
using namespace std;
int main()
};int main()
while(!q.empty ())
cout< 容器共同操作操作 insert pos,e 將元素e的拷貝安插於迭代器pos所指的位置 erase beg,end 移除 beg,end 區間內的所有元素 clear 移除所有元素 c.size 返回元素個數 c.empty 判斷容器是否為空 c.max size 返回元素最大可能數量 固定值 c.... 1 容器 container 2 迭代器 iterator 3 演算法 algorithm 4 函式物件 function object 5 介面卡 adaptor 6 空間配製器 allocator 構造 拷貝和析構 非變動操作 基本原理 將插入的值 第乙個運算元 與樹根 第二個運算元 紅黑樹,二... 1 stl的組成 1 容器 container 容器類是容納 包含一組元素或元素集合的物件 向量 vector 雙端佇列 deque 列表 list 集合 set 多重集合 multiset 對映 map 和多重對映 multimap 2 迭代器 iterator 提供訪問了容器中物件的方法。也可以...第二章 STL簡介
第二章 STL簡介
演算法設計與分析第二章STL簡介及練習題