演算法分析筆記第二章STL簡介

2021-09-27 04:01:30 字數 1560 閱讀 2536

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<

第二章 STL簡介

容器共同操作操作 insert pos,e 將元素e的拷貝安插於迭代器pos所指的位置 erase beg,end 移除 beg,end 區間內的所有元素 clear 移除所有元素 c.size 返回元素個數 c.empty 判斷容器是否為空 c.max size 返回元素最大可能數量 固定值 c....

第二章 STL簡介

1 容器 container 2 迭代器 iterator 3 演算法 algorithm 4 函式物件 function object 5 介面卡 adaptor 6 空間配製器 allocator 構造 拷貝和析構 非變動操作 基本原理 將插入的值 第乙個運算元 與樹根 第二個運算元 紅黑樹,二...

演算法設計與分析第二章STL簡介及練習題

1 stl的組成 1 容器 container 容器類是容納 包含一組元素或元素集合的物件 向量 vector 雙端佇列 deque 列表 list 集合 set 多重集合 multiset 對映 map 和多重對映 multimap 2 迭代器 iterator 提供訪問了容器中物件的方法。也可以...