容器类(list | vector | deque | set)
2022-06-08 本文已影响0人
圣明
常见容器类:
序列式容器:元素位置和插入顺序和位置有关,与元素值无关
list
deque
vector
关联式容器:元素位置取决于元素的值
set
multiset
map
multimap
容器配接器:
Stacks
Queues
Priority Queues
迭代器
安插型迭代器(insert Iterators):
back_inserter
front_inserter
inserter
流迭代器(Stream Iterators):
isstream_iterator<string>(cin)
isstream_iterator<string>()
逆向迭代器(Reverse Iterators)
rbegin()
rend()
示例
#include "iostream"
#include "list"
#include "deque"
#include "set"
#include "algorithm"
#include "vector"
using namespace std;
int main() {
// 0 1 2 3 4 5 6 7 8 9
list<int> coll1;
for (int i = 0; i <= 9; i++) {
coll1.push_back(i);
}
vector<int> coll2;
// 向量不可以front_inserter:0 1 2 3 4 5 6 7 8 9 其中:front = 0;back = 9
std::copy(coll1.begin(), coll1.end(), back_inserter(coll2));
deque<int> coll3;
// 9 8 7 6 5 4 3 2 1 0
std::copy(coll1.begin(), coll1.end(), front_inserter(coll3));
set<int> coll4;
// 0 1 2 3 4 5 6 7 8 9
std::copy(coll1.begin(), coll1.end(), inserter(coll4, coll4.begin()));
}