1 queue
#include<iostream>
#include<queue>
using namespace std;
int main(){
queue<int> q;
q.push(5);
q.push(6);
cout<<q.back()<<endl; //back是队尾元素
cout<<q.front()<<endl; //front是队头元素
q.pop();
cout<<q.front()<<endl;
cout<<q.size()<<endl;
return 0;
}
2 map
#include<iostream>
#include<map>
#include<unordered_map>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(pair<int,int> a,pair<int,int> b){
return a.first>b.first;
}
int main(){
map<int,int> m;
//有序的,树状结构(底层)
m[6]=3;
m[2]=8;
m[4]=9;
for(auto it=m.begin();it!=m.end();it++)
cout<<it->first<<" "<<it->second<<endl;
for(auto tmp:m)
cout<<tmp.first<<" "<<tmp.second<<endl;
cout<<"*****************"<<endl;
unordered_map<int,int> n; //无序的,哈希结构(底层)
n[9]=5;
n[2]=7;
n[3]=9;
for(auto it=n.begin();it!=n.end();it++)
cout<<it->first<<" "<<it->second<<endl;
for(auto tmp:n)
cout<<tmp.first<<" "<<tmp.second<<endl;
cout<<"*****************"<<endl;
vector<pair<int,int> > v(n.begin(),n.end());
sort(v.begin(),v.end(),cmp);
for(auto tmp:v)
cout<<tmp.first<<" "<<tmp.second<<endl;
return 0;
}
3 set
#include<iostream>
#include<set>
#include<unordered_set>
using namespace std;
int main(){
set<int> s; //树状结构,有序
unordered_set<int> s2;
s.insert(8);
s.insert(8);
s.insert(3);
s.insert(4);
s.insert(4);
s.insert(4);
cout<<s.size()<<endl;
for(auto tmp:s)
cout<<tmp<<" ";
cout<<endl;
for(auto it=s.begin();it!=s.end();it++)
cout<<*it<<" ";
cout<<endl;
return 0;
}
4 deque
#include<deque>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
deque<int> d; //双端队列
d.push_back(1);
d.push_back(2);
d.push_front(9);
d.push_front(0);
//d.pop_back();
//d.pop_front();
for(auto it=d.begin();it!=d.end();it++)
cout<<*it<<" ";
cout<<endl;
//排序
sort(d.begin(),d.end(),greater<int>());
for(auto tmp:d)
cout<<tmp<<" ";
cout<<endl;
return 0;
}
5 list
#include<iostream>
#include<list>
using namespace std;
int main(){
list<int> li;
//双向链表
li.push_back(6); //放后面
li.push_front(5); //放前面
li.emplace_back(10); //放后面
for(auto tmp:li)
cout<<tmp<<" ";
cout<<endl;
li.emplace_front(9); //放前面
li.insert(++li.begin(),2); //在第二个位置放2
for(auto it=li.begin();it!=li.end();it++)
cout<<*it<<" ";
cout<<endl;
return 0;
}
最后
以上就是甜美紫菜最近收集整理的关于stl中的queue、map、set、deque、list1 queue2 map3 set4 deque5 list的全部内容,更多相关stl中的queue、map、set、deque、list1内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复