STL常用容器用法
阿新 • • 發佈:2021-07-07
- 通用的操作
//遍歷容器——以vector,map為例 vector<int> vt; map<int,int> mp; for(vector<int>::iterator it=vt.begin();it!=vt.end();it++)printf("%d ",*it); printf("\n"); for(map<int,int>::iterator it2=mp.begin();it2!=mp.end();it2++)printf("%d %d\n",it2->first,it2->second); //empty(),size()和clear()函式通用——以queue為例 queue<int> q; while(!q.empty){//do sth} printf("%d\n",q.size()); q.clear();
- list
list<int> ls; //一些簡單的功能 ls.push_front(3);//3 ls.push_front(4);//4 3 ls.push_back(5);//4 3 5 ls.pop_front();//3 5 printf("%d %d\n",ls.front(),ls.back());//3 5 ls.pop_back();//3 //最為重要的功能——O(1)插入(給定位置和數值)和刪除(給定位置) list<int>:iterator it=ls.begin(); ls.insert(it,2);//2 3 //注意:新的數插入到迭代器之前的位置;但迭代器依舊指向3 ls.erase(it);//2 //迭代器會指向被刪除數的後面 //這裡it==ls.end()