std::deque
std::deque<int> mque;
mque.push_back(11);
mque.push_back(22);
mque.push_front(33);
mque.push_front(44);
mque.pop_front();
mque.pop_back();
mque[0] = 2000;
for (auto i = mque.cbegin(); i != mque.cend(); ++i) {
std::cout << *i << std::endl;
}
mque.resize(10);
std::queue
std::queue<int> mque;
mque.push(11);
mque.push(22);
mque.push(33);
mque.pop();
std::cout << mque.front() << " " << mque.back() << std::endl;
std::stack
std::stack<int> mque;
mque.push(11);
mque.push(22);
mque.push(33);
mque.pop();
std::cout << mque.top() << std::endl;
std::list
std::list<int> mlist;
mlist.emplace_front(11);
mlist.emplace_back(22);
mlist.insert(mlist.begin(), 33);
mlist.erase(++mlist.cbegin());
*mlist.begin()=2000;
*(++mlist.begin())=3000;
*(--mlist.end())=100;
for (auto i = mlist.begin(); i != mlist.end(); ++i) {
std::cout << *i << std::endl;
}
std::set
std::set<int> mset;
mset.emplace(3000);
mset.emplace(1000);
mset.emplace(2000);
mset.emplace(2000);
mset.erase(2000);
for (auto i = mset.cbegin(); i != mset.cend(); ++i) {
std::cout << *i << std::endl;
}
set::multiset
和std::set唯一的不同在于值可以重复
std::multiset
std::multiset<int> oset;
oset.emplace(3000);
oset.emplace(1000);
oset.emplace(2000);
oset.emplace(2000);
oset.erase(2000);
for (auto i = oset.cbegin(); i != oset.cend(); ++i) {
std::cout << *i << std::endl;
}
std::unordered_multiset
和std::unordered_set唯一的不同在于值可以重复
std::map
std::map<int, std::string> omap;
omap.emplace(2000, "abcd");
omap.emplace(std::pair<int, std::string>(3000, "aaaa"));
omap.erase(3000);
omap[4000] = "bbbb";
omap[5000] = "cccc";
for (auto i = omap.cbegin(); i != omap.cend(); ++i) {
std::cout << i->first << " " << i->second << std::endl;
}
std::multimap
和std::map唯一不同的地方在于std::multimap允许重复的键
std::unordered_map
std::unordered_map<int, std::string> umap;
umap.emplace(2000, "abcd");
umap.emplace(std::pair<int, std::string>(3000, "aaaa"));
umap.erase(3000);
umap[4000] = "bbbb";
umap[5000] = "cccc";
for (auto i = umap.cbegin(); i != umap.cend(); ++i) {
std::cout << i->first << " " << i->second << std::endl;
}
std::unordered_multimap
和std::unordered_map唯一不同的地方在于std::unordered_multimap允许重复的键