您的位置:首页 > 编程语言 > C语言/C++

c++ map跟vector的相关用法

2016-07-17 00:00 429 查看
摘要: vector跟map的代码例子。

//============================================================================
// Name        : vector.cpp
// Author      : sun2019
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#include<vector>
#include<map>
#include<string>
using namespace std;

int main() {
vector<int> myarr;
myarr.push_back(0);
cout<<myarr[0]<<endl;
for(int i=0;i<10;i++){
myarr.push_back(i);
}
//创造迭代器
vector<int>::iterator myit;
for(myit=myarr.begin();myit!=myarr.end();myit++){
cout<<*myit<<"\t";
}
cout<<endl;
//输出myarr的大小
cout<<myarr.size()<<endl;

myarr.erase(myarr.begin());
for(myit=myarr.begin();myit!=myarr.end();myit++){
cout<<*myit<<"\t";
}
cout<<endl;
myarr.insert(myarr.end(),10);
//相当于myarr.push_back(10)
for(myit=myarr.begin();myit!=myarr.end();myit++){
cout<<*myit<<"\t";
}
cout<<endl;
//myarr.pop_back() 删除最后一个元素
//myarr.erase(myarr.begin()+i,myarr.end()+i+n)
//从i后面删除n个元素
myarr.clear();//清空

//map用法:
map <int,string> stu,stu1;
map <int,string>::iterator mapit;
pair<map<int, string>::iterator, bool> y;
y=stu.insert(pair<int,string>(1,"李四"));
if(y.second) cout<<"插入成功!"<<endl; else cout<<"插入失败!"<<endl;
y=stu.insert(pair<int,string>(1,"马三"));
if(y.second) cout<<"插入成功!"<<endl; else cout<<"插入失败!"<<endl;
y=stu.insert(pair<int,string>(2,"王五"));
if(y.second) cout<<"插入成功!"<<endl; else cout<<"插入失败!"<<endl;
for(mapit=stu.begin();mapit!=stu.end();mapit++){
cout<<mapit->first<<"\t"<<mapit->second<<endl;
}
//可以看出,map是自动排序的,
//输出是按照  1 2 3
stu1.insert(pair<int,string>(6,"Jack"));
//swap是将两个容器交换
stu.swap(stu1);
for(mapit=stu.begin();mapit!=stu.end();mapit++){
cout<<mapit->first<<"\t"<<mapit->second<<endl;
}
mapit=stu1.find(2);
cout<<"编号为2的是:"<<mapit->second<<endl;
stu1.erase(mapit);
for(mapit=stu1.begin();mapit!=stu1.end();mapit++){
cout<<mapit->first<<"\t"<<mapit->second<<endl;
}
stu1[2]="马三";
for(int i=0;i<stu1.size();i++){
cout<<stu1[i]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息