C++STL模板庫關聯容器之set/multiset
阿新 • • 發佈:2018-11-01
目錄
一丶關聯容器簡介.set/multiset
我們的序列容器,底層都是線性表構成的. 比如 vector list deque. 關聯容器底層就是紅黑樹.
以set集合為例.
set內部元素根據其值自動排序.每個元素的值只允許出現一次.不能重複.
multiset 跟set一樣.只不過值可以重複.
二丶演示程式碼.
#include <set> using namespace std; int main(char *argc, char *argv[]) { multiset<int> muse; muse.insert(1); muse.insert(2); muse.insert(6); muse.insert(3); //插入的時候自動排序 set<int> se; se.insert(1); se.insert(6); se.insert(5); set<int>::iterator it = se.begin(); while (it != se.end()) { cout << *it << endl; it++; } //查詢 it = se.find(6);//使用內部的find查詢 se.erase(it);//刪除. se.clear(); //清空 se.empty(); //判斷是否為空 cout << endl; cout << "--------------------------" << endl; getchar(); system("pause"); }
set相比於序列容器. 只能使用inset方法進行新增資料. 去掉了線性表等一些操作.
如: 刪除頭部元素 尾部元素. 獲取頭部元素. 尾部元素.....