前言:希望在大量資料中進行的元素增加、刪除、查詢都在log(n)複雜度內完成,排序+二分查詢顯然不可以,因為新加入資料就要進行重新排序。而使用「平衡二叉樹」資料結構存放資料就可以達到目的,在stl中體現為以下四種排序容器:multiset、set、multimap、map。標頭檔案:#include
用法:multisetst;定義了乙個multiset型別變數st,st裡面可以存放t型別的資料,並且能自動排序。開始st為空
預設排序規則從小到大。
可用st.insert新增元素,st.find查詢元素,st.erase刪除元素。
multiset st;
元素新增(注意前後**連貫):
int num[6] = ;
for (int i = 0; i < 5; i++)
元素遍歷:
multiset::iterator i;//迭代器i,近似於指標
for ( i=st.begin();i!=st.end();++i)
元素查詢:
i = st.find(21);//找到返回指向元素的迭代器
i = st.find(9);//找不到返回值為st.end()
if (i==st.end())
; struct rule
else
}}; multiset st;
student students[4] = ,,, };
for (int i = 0; i < 4; i++)
multiset::iterator i;//迭代器i,近似於指標
for ( i=st.begin();i!=st.end();++i)
; multiset::iterator p=st.find(std1);
if (p!=st.end())//找到
檢視下篇文章了解multimap和map的用法
STL容器 multiset的學習
includeusing namespace std intmain begin 和end p m.begin cout 第乙個元素 p p cout 最後乙個元素 p printf 元素的個數 d n m.size 統計容器中關鍵字的個數 int i m.count 1 printf 元素1的個數...
STL常用操作 multiset
multisetset1 建立空set multisetset2 set1 拷貝構造 multisetset3 set1.begin set1.end 迭代器構造 multisetset4 arr,arr 5 陣列構造 multisetset5 move set2 移動構造 multisetset6...
c 學習之STL中排序演算法multiset
multisetst st裡面儲存著t型別的資料,能夠自動排序 multiset iterator p是迭代器,相當於指標 st.begin 返回值為 multiset iterator,是指向st中頭乙個元素的迭代器 st.end 返回值為 multiset iterator,是指向st中最後乙個...