算法养成:弱鸡大学生浅谈c++stl
前言
弱雞大二學(xué)生,一意孤行學(xué)算法半年,首次寫博客,歡迎各位大佬指教。今天想談?wù)刢++比較常用,好用的stl
如果想看大佬可移步至AcWing分享。
vector:可變數(shù)組
vector這個(gè)真的是個(gè)好東西,有重載各類運(yùn)算符,離散化神器。
各類方法:
vector<類型> v;
v.push_back(x);//在尾部插入x
v.pop_back(x);//從尾部刪除一個(gè)元素
set/map :平衡樹(無重復(fù))
set <類型>s;
s.insert(x);//插入
s.erase(x);//刪除
遍歷
for(auto x:s)//x一定是有序的
map<類型,類型> mp;
map最誘人的是什么呢,下面給大家演示一下
map<string,int> mp;
mp[“mpnb”]+=1;//這句話即使"mpnb"不存在也不會(huì)炸,他會(huì)幫你初始化為0,然后cout<<mp[“mpnb”]<<endl;//可以直接訪問
當(dāng)然map也可以用for(auto x:mp)訪問
priorty_queue:堆
堆用起來有多爽就不必我多說了吧。
priority_queue<類型> heap//大根堆,類型必須重載小于號(hào)
priority_queue<類型,vector<類型>,greater<類型>>//小根堆
heap.top()
heap,pop()
heap,push(x)
最好用的幾個(gè)stl就介紹到這里了,想要熟練掌握還是要多刷題。雖然自己也是新手但還是想推薦大家一些刷題路線,萌新學(xué)會(huì)c++之后可以先刷pat乙級(jí),然后可以買本《算法競(jìng)賽進(jìn)階指南》好好琢磨。(當(dāng)然精力充沛可以同時(shí)進(jìn)行)算法競(jìng)賽進(jìn)階指南可以移步至acwing,y總講的是真的好。還有就是學(xué)算法一定要堅(jiān)持到底,千萬(wàn)不要半途而廢,好,祝大家早日acm那個(gè)牌牌。。
總結(jié)
以上是生活随笔為你收集整理的算法养成:弱鸡大学生浅谈c++stl的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ECharts3D地图 简单制作省份地
- 下一篇: cvc-complex-type.2.4