A-queue
#include<iostream> #include<queue> using namespace std; int main() { queue<int> q;//定义queue(队列) for (int i = 0; i < 5; i++){ q.push(i);//放入队列 } for (int i = 0; i < 5; i++) { cout << q.front() << endl;//输出 q.pop();//删除队列顶部元素 } return 0; }
B-map&&unordered_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;//map是有序的,unordered_map是无序的,哈希结构(底层) m[1] = 2; m[3] = 4; m[2] = 6;//放入map 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; }//输出的第二种方式(c++11) unordered_map<int, int> um;//无序的map um[1] = 2; um[3] = 6; um[2] = 4; for (auto tmp : um) { cout << tmp.first << " " << tmp.second << endl; } vector<pair<int, int>> v(um.begin(), um.end());//pair类型,map中的key和value就是pair类型 sort(v.begin(), v.end(), cmp); for (auto tmp : v) { cout << tmp.first << " " << tmp.second << endl; } return 0; }