C++ set容器(附程式碼)
阿新 • • 發佈:2018-12-24
set內部其實是一顆二叉搜尋樹。其基本函式如下:
size():返回set的集合數。
clear():清空set。 O(n)
begin():返回指向set開頭的迭代器。
end():返回指向set末尾的迭代器。
insert(key):向set中插入元素key。O(log(n))
erase(key):刪除含有key的元素。 O(log(n))
find(key): 查詢與key一致的元素,並返回指向該元素的迭代器,如果沒有找到,則返回末尾end()。O(log(n))
set對於重複元素只能儲存一次。。。
程式碼如下:
#include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <set> using namespace std; set<int>se; int a[]={5,2,3,6,5}; void print() { //集合的遍歷 for (set<int>::iterator it=se.begin();it!=se.end();it++) printf(" %d",*it); printf("\n"); } int main() { if(se.size()==0) printf("集合為空\n"); //插入元素 for (int i=0;i<5;i++) se.insert(a[i]); print(); //刪除元素 se.erase(5); print(); //查詢元素 if(se.find(5)==se.end()) printf("集合中未存在此元素\n"); return 0; } /* 執行結果 集合為空 2 3 5 6 2 3 6 集合中未存在此元素*/