?
lower_bound
功能:返回一個非遞減序列[first, last)中的第一個大于等于值val的位置。
聲明:lower_bound(ForwardIter first, ForwardIter last,const _Tp& val) ?-arraylistname
upper_bound
功能:算法返回一個非遞減序列[first, last)中第一個大于val的位置。
聲明:upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)
vector
功能:一個可變大小的數組。
聲明:vector<類型> 變量名;
訪問:變量名[位置](當數組用即可)
插入:變量名.push_back(變量);
說明:
它的本體是一個對象。
?priority_queue
功能:堆
聲明:priority_queue<類型> 變量名;
訪問:變量名.top();(僅能訪問堆頂元素)
插入:變量名.push(變量);
刪除:變量名.pop();
說明:
類型需要定義<運算符。
注意 pq 實現的是反人類的大根堆,自定義<號時需要注意實際上是>。
set
功能:集合
聲明:set<類型> 變量名;
訪問:變量名.find(值);
插入:變量名.insert(值);
刪除:變量名.erase(迭代器);
變量名.erase(值);
說明:
單次操作復雜度 O(logn)。
?map
功能:映射
聲明:map<源類型,目標類型> 變量名;
訪問:變量名[源類型值](如果不存在該值則會進行插入。)
說明:
單次操作復雜度 O(logn)。
?string
功能:靈活的字符串對象
聲明:string 變量名;
賦值:變量名=”C 風格字符串常量”;
合并:變量名+變量名 2(例如 s1=”a”,s2=”b”,s1+s2=”ab”)
求長:變量名.length();(其余 STL 求大小均為變量名.size())
訪問:變量名[位置](當數組用)
說明:不能作為 C 風格函數的參數。