一、vector
1.需要头文件#include<vector>
2.查询,修改,增删。
3.下标只能用于获取已存在的元素
4.方法:,empty(),clear(),,;
size():数据长度
clear():清空元素
push_back():存入元素
front():最前面元素
back():最后面元素
定义:vector<int> v; 保存的是int型数据
向vector中存入数据:
v.pushe_back();
vector还可以是二维数组
vector<int> v1[10];
v1[0].push_back();
int a[3]={2,5,1};
vector <int> v0(a,a+3);//将整个数组赋值给vector
cout<<v0.size()<<endl; //v0的长度 ,结果为 3
// empty(),如果为空, 是true,反之为false;用empty()来判空
!v0.empty();
v0.clear();//清空
cout<<v0.size()<<endl;//结果为 0
//front为前面的元素,back为最后面的元素
vector <int> v;
v.push_back(2);//插入元素
vector <int> v1[10];//代表的是二位数组
v1[0].push_back(6);//向0号数组中插入一个元素6
如图所示:
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<vector>
using namespace std;
int main()
{
int a[3]={2,5,1};
vector <int> v0(a,a+3);//将整个数组赋值给vector
cout<<v0.size()<<endl; //v0的长度 ,结果为 3
// empty(),如果为空, 是true,反之为false;用empty()来判空
!v0.empty();
v0.clear();//清空
cout<<v0.size()<<endl;//结果为 0
//front为前面的元素,back为最后面的元素
vector <int> v;
v.push_back(2);//插入元素
vector <int> v1[10];//代表的是二位数组
v1[0].push_back(6);//向0号数组中插入一个元素
return 0;
}
二、set(去重,自动排序)
1.需要头文件#include<set>
2.查询,修改,增删。
3.迭代器:迭代器是一种检查容器内元素并遍历元素的数据类型。
4.方法:size() , empty() , insert() , erase()。
set<int>s:定义了一个int型的set,也可以是char等其他类型。
去重:
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<set>
using namespace std;
int main()
{
int b[5]={2,5,1,1,2};
set<int>s(b,b+5);
set<int>::iterator siter;//迭代器
for(siter=s.begin();siter!=s.end();siter++){
cout<<*siter<<endl;
}
}
//结果是
// 1
// 2
// 5
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<set>
using namespace std;
int main()
{
int b[5]={2,5,1,1,2};
set<int>s(b,b+5);
cout<<s.size()<<endl; //查看数据长度
return 0;
}
//结果是
//3
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<set>
using namespace std;
int main()
{
int b[5]={2,5,1,1,2};
set<int>s(b,b+5);
s.insert(7); //插入元素
cout<<s.size()<<endl; //数据长度
set<int>::iterator siter;//迭代器输出数据
for(siter=s.begin();siter!=s.end();siter++){
cout<<*siter<<endl;
}
return 0;
}
//结果是
//4
//1
//2
//5
//7
CCCC中的一个用set做的题目,题目连接,用就set很简单。
三、map(自动建立key-value的对应,通过key能查到value)
1.需要头文件#include<map>
2.查询,修改,增删。
3.map对象是模板类,需要关键字和存储对象两个模板参数
4.方法:
size() :
empty():
insert():
erase():
find():
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<map>
using namespace std;
int main()
{
map<string,string> ma;
ma["asd"]="12345";
cout<<ma["asd"]<<endl;
map<string,char> ma1;
ma1["fgh"]='c';
cout<<ma1["fgh"]<<endl;
return 0;
}
//结果是
//12345
//c