一些来自STL的好东西
生活随笔
收集整理的這篇文章主要介紹了
一些来自STL的好东西
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
STL:
隊列:
| #include<queue> | 定義 |
| queue<int>x | 定義一個int類型的隊列,名為x |
| x.push(y) | 從隊列x的對尾插入y |
| x.pop() | 隊列x的隊頭出列 |
| g=x.front() | g等于x的隊頭 |
| h=x.back() | h等于x的隊尾 |
| x.size() | 隊列x的長度 |
| x.empty() | 判斷x是否為空(空則true,非空則false) |
二叉堆
| priority_queue< int >x | 定義一個int類型的大根二叉堆,名為x |
| priority_queue <int, vector< int >, greater< int > > x | 定義一個int類型的小根二叉堆,名為x |
| x.push(y) | 在大根二叉堆中插入y |
| x.pop() | 刪除x堆頂元素 |
| sum=x.top() | sum是x堆的堆頂元素(最大值) |
各種操作:
struct rec//定義結構體 {int a,b,c;bool operator <(const rec &y) const//結構體堆{return a>y.a;//寫'<'則是大根堆,寫'>'則是小根堆} }sum; int main() {priority_queue<rec>d;d.push(sum);//入堆rec h=d.top();//取頂元素d.pop(); //彈出頂元素 }other
| len=unique(a+1,a+1+n)-a-1 | 給a數組(1~n位)去重,把去重后的長度返回給len |
| s=lower_bound(a+1,a+1+len,v)-a | 在a數組(1~len位)中查找大于等于v的第一個數,找到的位置返回給s |
| map<下標,類型>x | 定義一個名為x的超大數組 |
| map<pair<下標,下標>,類型>x | 定義一個名為x的超大二維數組 |
總結
以上是生活随笔為你收集整理的一些来自STL的好东西的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【dfs】【bfs】【链表】 求连通分量
- 下一篇: 【dfs】【链表】连通图 (ssl 17