vector,map,set的区别
vector表示数组,常用到的方法有
(1)初始化:vector a(10,0);
(2)插入:尾部:a.push_back(elem);
头部:a.insert(elem)/a.insert(a.begin(),b.begin(),b.begin()+5);
注意:a.begin()指代的是迭代器(vector::iterator),类似指针
(3)删除:a.pop_back()/a.erase(a.begin());
(4)长度:a.size();
set类似于数组,但是又在数组的基础上进行排序去重
int main()
{
set<int> aa;
aa.insert(1);
aa.insert(0);
aa.insert(5);
aa.insert(3);
aa.insert(4);
for (set<int>::iterator tt = aa.begin(); tt != aa.end(); tt++)
{
cout << *tt;
}
cout << endl;
return 0;
}
不同的是,set的迭代器不能使用‘+’
unordered_map是键值对的形式
只要是存在的变量类型,都可以配对。
unordered_map<char, int> vv;
unordered_map<char, int>::iterator iter;
cout << endl;string cc = "I love the world";
for (char c:cc)
{
vv[c]++;
}
for (iter = vv.begin(); iter != vv.end(); iter++)
{
cout << "[" << iter->first << "] = " << iter->second << endl;
}