元素之间没有严格物理顺序,但是插入元素时内部是有算法进行自动排序的。
1.map容器
元素是 键和值 组成,元素的键不允许重复
#include <iostream>
#include <array>
#include <vector>
#include <list>
#include <map>
using namespace std;
int main()
{
map<int,int> mp;
//第一种
mp[1]=80;
//第二种方式
pair<int,int> p(3,90);//pair对组也是类模板
mp.insert(p);
//第三种方式
mp.insert(make_pair(2,85));
//cout<<mp[1]<<endl; //80
//map中的键不允许重复
mp[1]=100; //会覆盖掉之前的值
mp.insert(make_pair(2,86)); //插入不成功,不会覆盖之前的值
map<int,int>::iterator it; //it是迭代器名
for(it=mp.begin();it!=mp.end();it++){
cout<<"键"<<it->first<<"值"<<it->second<<endl;
}
}
2.迭代器
迭代器是特殊的指针。可以指示元素位置。用于通用的方式遍历容器元素。遍历效率比普通方式要高
#include <iostream>
#include <array>
#include <vector>
#include <list>
#include <map>
using namespace std;
int main()
{
map<int,int> mp;
mp.insert(make_pair(1,80));
mp.insert(make_pair(2,85));
mp.insert(make_pair(4,90));
mp.insert(make_pair(3,95));
map<int,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++){
cout<<"键"<<it->first<<"值"<<it->second<<endl;
}
vector <string> vec;
vec.push_back("AA");
vec.push_back("BB");
vec.push_back("CC");
vector<string>::iterator it2;
for(it2=vec.begin();it2!=vec.end();it2++){
cout<<*it2<<endl;
}
list<int> lis;
lis.push_back(1);
lis.push_back(10);
lis.push_back(5);
list<int>::iterator it3;
for(it3=lis.begin();it3!=lis.end();it3++){
cout<<*it3<<endl;
}
}
文章介绍了C++中map容器的三种插入元素方法以及其内部自动排序的特性,强调了键的唯一性。同时,文章讲解了迭代器的概念,展示了如何用迭代器高效遍历map、vector和list容器中的元素。
1134

被折叠的 条评论
为什么被折叠?



