1,map
對map實在不熟。。。趕緊記錄一下用法吧。
後來再發現新的用法再補充吧
定義: mapm;
其中的int可以為自定義的任何型別。
m[key值型別的變數] = value值;
但是注意如果key值是自定義的結構體的話,一定要過載一下小於號的運算子。這個是map的要求,key對應的型別一定要可以比較的。
2,優先佇列
定義:qriority_queue<int, vector<int>, cmp> q;
一直把這貨當heap在用。
其中黑體字可以為任何型別(包括自定義型別)
cmp是自己寫的比較函式,因為我一直不記得大根堆和小根堆是用哪個詞,所以就乾脆自己寫比較函式了。
注意堆內元素是不能直接修改的,要改只能先取出來,改完再放回去。
q.size() 返回堆中元素個數
q.empty() 返回堆中是否為空,為空則返回true
q.push(x) 將元素x放入堆中
q.top() 返回堆頂元素
q.pop() 彈出堆頂元素
3,set
s.begin() 返回容器中的第乙個元素
s.end() 返回容器中的最後乙個元素
s.clear() 字面意思(刪除容器內元素)
s.empty() 判斷容器是否為空
s.size() 返回容器內元素個數
set :: iterator pre = s.lower_bound(t); 返回集合中第乙個大於等於t的數的位置
set :: iterator nxt = s.upper_bound(t); 返回集合中第乙個大於t的數的位置
這篇文章咕了……等ww3113306好好學習一下stl再來開篇新的吧
STL學習記錄(八)Sets Multisets
set和multiset會依據一定的排序準則自動的將容器裡面的元素進行排序。這也就表明關聯容器與順序容器的乙個最大不同就是元素的順序與元素插入容器的先後無關。set multiset的不同在於前者不允許容器內部有相同的元素,而後者則是允許的。因為容器對元素進行自動排序,這就表明set multise...
c 學習記錄之STL
總結想再系統學習一下c 搭建這個筆記架構,長期更新 btw想每天更新一下 如果有錯誤地方,煩請多多指教。在學習過程中,也希望能養成良好的 習慣,主要就是按照華為 風格來碼 良好的 風格很重要,我們都要逐漸養成 stl standard template library,標準模版庫 是惠普實驗室開發的...
STL 什麼是STL 使用STL的好處
標準模板庫,由惠普實驗室開發的一系列的標準化的元件,目前是c 的一部分。stl的 廣義上講,分為三類 容器 迭代器 演算法,容器和演算法是通過迭代器無縫連線,string和wstring也是stl的一部分,內嵌在c 的編譯器中。特點 資料結構 容器 和演算法的分離,演算法有乙份即可,比如sort排序...