** 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一對多對映,基於關鍵字快速...