C++ 一些常用函數

vector(不定長數組/向量):

#include <vector>


vector<int> vec;

vector[0]; //使用下標訪問元素;

vec.front(); //取vec中的第一個元素;

vec.back(); //取vec中的最末一個元素;

vec.push_back(x); //在向量末尾加入元素x;

vec.pop_back(); //刪除末尾元素,同時向量空間減少1;

vec.insert(vec.begin()+i,a);//在第i+1個元素前邊插入元素a;

vec.erase(vec.begin()+i);//刪除第i+1個元素;

vec.size();//取向量大小;

vec.clear();//清空向量;

reverse(vec.begin(),vec.end());//將向量翻轉;

sort(vec.begin(),vec.end());//排序;

vec.resize(n,1);//改變當前向量大小爲n,新增加的元素賦值爲1;

vec.empty();//判斷向量是否爲空,爲空返回1,不爲空返回0;

swap(vec & v);//交換向量vec和v的值;

vec.max_size();//返回vec的最大長度;


set(集合):

#include <set>


set<int> s;

s.clear();//清除所有元素;

s.count(x);//返回集合中元素x的數目,由於set中元素是唯一的,所以用來判斷元素是否存在;

s.empty();//判斷當前集合是否爲空;

s.erase(x);//刪除集合中元素x;

s.insert(x);//再集合中插入元素x;

s.size();//返回集合的大小;

s.find(x);//在集合中查找元素x,返回的是指向x所在位置的迭代器;


stack(堆棧):

#include <stack>


stack<int> sta;

sta.empty();//判斷棧是否爲空;

sta.push();//向當前堆棧中加入元素;

sta.pop();//將最後放入的元素彈出;

sta.size();//返回堆棧的大小;

sta.top();//返回堆棧 最後放入的元素;


map(映射):

#include <map>

map<int,int> mp;

map<pair<int,int> ,int> mpair;

mp[0]=x;//利用數組方式插入數據,0是鍵,x是值;

mp.at(0)=x;//利用at執行插入操作;

mp.insert(make_pair(1,x));//利用insert插入pair(鍵,值)數據;

mp.emplace(make_pair(1,x));//在映射中不存在主鍵1時執行插入操作;

mp.size();//返回mp的大小;

mp<int,int> ::iterator iter;//定義迭代器;

for(it=mp.begin(); it!=mp.end(); ++it);//映射遍歷的方式,利用迭代器實現;

mp.count(1);//統計鍵爲1的元素存在的映射數,存在返回1,不存在返回0;

mp.erase(iter);//根據迭代器刪除元素;

mp.clear();//清空映射;

mp.epty();//判斷映射是否爲空;

mp.find(1);//根據鍵1查找元素,找到以後返回迭代器;

mp.rbegin(),mp.rend();//返回反向迭代器;

lower_bound(1);//返回查找的鍵1的下界,即閉區間,返回的是迭代器;

upper_bound(1);//返回查找的鍵1的上界,即開區間,返回的是迭代器;

mp.swap(m);//將mp和m進行交換;


queue(隊列):

#include <queue>


queue<int> q;

q.push(x);//入隊;

q.pop();//出隊;

q.front();//訪問隊首元素;

q.back();//訪問隊尾元素;

q.empty();//判斷隊列是否爲空;

q.size();//返回隊列的大小;















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章