目录
map
1.
map<int,string>mp; //map的每对都按key值(此处的int)从小到大自动排列
mp.insert(pair<int,string>(5,abcd)); //pair将两个值组成一个值
或用数组插入数据
mp[1]="aaaaaaa";
mp[2]="bbbbbbb";
2.遍历map数据
for(auto it=mp.begin();it!=mp.end();it++)
map<int,string>::iterator it;
for( it = mp.begin( ) ; it != mp.end( ); it ++)
{
cout<< it -> first <<' '<< it-> second <<endl ;
}
反向遍历
map<int,string>::reverse_iterator it;
for ( it = mp.rbegin( ) ;it != mp.rend( ) ;it ++)
{
cout<< it -> first <<' '<< it-> second <<endl ;
}
3.
mp.size()
mp.find(A) //A为key值 返回指针
map<int,string>::iterator it;
it=mp.find(2);
cout<<it->first<<' '<<it->>second;
set集合
默认按照升序排好的 没有重复的元素
1.初始化 添加 遍历
set<int>a;
插入元素a.insert(5); a.insert(6);
迭代器 遍历
set<int>::iterator it//或直接使用auto it=a.begin()
for(it=a.begin();it!=a.end();it++)
{
cout<<*it<<endl;
}
2.出现2的次数
由于不存在重复 所以 a.count(2)=0或1
可用于判断是否存在或
set<int>::iteraator ig;//或者 auto ig=a.find(2)
it=a.find(2);
for(auto it=a.begin();it!=a.end();it++)
{
if(ig==it){
cout<<"找到了";
break;
}
else if(ig==a.end()){
cout<<"没找到";
break;
}
}
3.
a.erase(2) 无返回值
a.empty();
a.clear();
a.size();
Vector
1.初始化
(1)vector<int>a(10); //a[10]
(2)vector<int>a(10,1); //a[10]的每个值赋1
(3)vector<int> a(b); //用b向量来创建a向量,整体复制性赋值
(4)vector<int> a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素
(5)int b[7]={1,2,3,4,5,9,8};
vector<int> a(b,b+7); //从数组中获得初值
(6)vector<vector<string>>s;
2.添加元素
1. a.push_back(2);
2. a.push_back(b[i]);
3. auto it=c.begin();
a.push_back(*it);
3.遍历读取
1、通过下标方式读取
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(int i=0;i<b.size();i++)
cout<<b[i]<<" ";
2、通过遍历器方式读取
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(vector<int>::iterator it=b.begin();it!=b.end();it++)
cout<<*it<<" ";
4.几种重要算法
1)sort(a.begin(),a.end());
对a中的从a.begin()(包括它)到a.end()(不包括它)的元素进行从小到大排列
(2)reverse(a.begin(),a.end());
对a中的从a.begin()(包括它)到a.end()(不包括它)的元素倒置,
但不排列,如a中元素为1,3,2,4,倒置后为4,2,3,1
(3)find(a.begin(),a.end(),10);
在a中的从a.begin()(包括它)到a.end()(不包括它)的元素中查找10,
若存在返回其在向量中的位置
stack
1.stack成员函数示例
stack<int>p
p.push(x)
- size( ) :返回栈中元素个数
- top( ) :返回栈顶的元素
- pop( ) :从栈中取出并删除元素
- push(e) :向栈中添加元素e
- empty( ) :栈为空时返回true