STL容器的簡單用法總結

2021-06-20 23:14:55 字數 1643 閱讀 5100

**  set

屬性:不允許元素重複,元素字典序排列,不提供下標操作符

宣告:seta;

插入:a.insert(b);

遍歷:

set::iterator a_it;//迭代器是靜態的

for (a_it = a.begin(); a_it != a.end(); a_it++)

cout << *a_it;

判斷是否是空:a.empty();

元素個數:a.size();

刪除:a.erase(b);//刪除第b+1個元素

清空:a.clear();

獲取元素:

a_it=a.find(b);

cout<<*a_it;//*a_it返回第b+1個元素

a.count(b)第b+1個元素是否存在

**  map

屬性:關聯陣列,鍵索引字典序排列,鍵索引不允許重複,後面插入的會覆蓋前面的。

宣告:mapa;//鍵索引string類,關聯值為int型

插入:a[b]=c;//b為string類,c為int型

遍歷:

map::iterator a_it;

for (a_it = a.begin(); a_it != a.end(); a_it++)

cout << a_it->first << " " << a_it->second << endl;//first為鍵索引

判斷是否是空:a.empty();

元素個數:a.size();

刪除:a.erase(b) //b為string類,刪除鍵索引為b的元素

a.erase(a_it) //刪除迭代器a_it所指元素

a.erase(a_it1,a_it2)// 刪除一段

清空:a.clear();

獲取元素:

a_it = a.find(b); //尋找鍵索引為b返回指向該元素的迭代值

cout

<< a_it->first

<< " "

<< a_it->second

<< endl;

a.count(b) //鍵索引為b的元素是否存在

** string

用getline讀取整行文字

string line;

while (getline(cin, line))

cout << line << endl;

操作:line.empty();line.size();line[n];

** stack

屬性:棧,先進後出

宣告:stacka;

操作:a.empty();

a.size();

a.pop();

a.top();

a.push(item);

** queue

屬性:佇列,先進先出

宣告:queuea;

操作:a.empty();

a.size();

a.pop();

a.top();//具有優先順序的元素

a.front(); //返回隊首元素

a.back();//返回隊尾元素

a.push(item);

STL四種容器簡單用法

protected iterator start 表示目前使用空間的頭 iterator finish 表示目前使用空間的尾 iterator end of storage 表示目前可用空間的尾 注意這幾個資料成員在外部不可以使用,他們是protected 所以只能通過函式得到他們 public i...

map容器的簡單用法

map是按關鍵字順序來儲存資料 因此關鍵字不能重複 不能直接修改 map 容器中的關鍵字。因為 map 中的元素是按照關鍵字排序的,新增元素方法有insert make pair t1,t2 和 insert函式返回型別為pair迭代器指向插入的建值的位置 成功bool為true 失敗為false ...

stl容器簡單總結

標準容器類 說明順序性容器 vector 從後面快速的插入與刪除,直接訪問任何元素 deque 從前面或後面快速的插入與刪除,直接訪問任何元素 list 雙鏈表,從任何地方快速插入與刪除 關聯容器 set快速查詢,不允許重複值 multiset 快速查詢,允許重複值 map一對多對映,基於關鍵字快速...