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