vector内容整理:
现在开始慢下心来,你将收获满满。
1、头文件可以用这两个中的任意一个:
#include<bits/stdc++.h>//万能头文件
#include<vector>
2、vector的定义方式:
如:vector<"数据类型">变量名称;
vector<int> vec;
定义了一个叫vec的int类型的动态数组
3、变量名.push_back(元素)可以把元素加入到数组的末尾
如:
vector<int> vec;//现在[]
vec.push_back(0);//现在[0]
vec.push_back(1);//现在[0,1]
vec.push_back(2);//现在[0,1,2]
4、变量名.pop_back()可以删除元素
如:(***注意括号里不用写东西***)
vec.pop_back();//[0,1]
vec.pop_back();//[0]
vec.pop_back();//[]
vec.pop_back();//***注意会报错***
5、变量名.size()可以访问动态数组的长度
如:
vec.size();
6、变量名[下标]可以访问数组元素,和一般的数组一样
如:
vec[0]就是第一个元素(注意不要越界,大小范围是vec.size()-1)
7、输出一个动态数组里的所有元素:
如:
vector<int> vec;//现在[]
vec.push_back(0);//现在[0]
vec.push_back(1);//现在[0,1]
vec.push_back(2);//现在[0,1,2]
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<' ';//[0 1 2]
}
8、修改动态数组里的元素和一般的数组一样
如:
vec.push_back(0);
vec.push_back(1);
vec[0]=2;
vec[1]=3;
9、动态数组清空所有数据且释放内存格式
如:vector<数据类型>().swap(变量名)
vector<int>().swap(vec);
也可以用变量名.empty()来检测这个动态数组的大小是否为0
10、动态数组可以整体赋值
如;
vector<int> vec1;
vector<int> vec2;
vec1.push_back(4);
vec1.push_back(2);
vec2=vec1;//vec2和vec1一样
11、动态数组全排序可以用sort(vec.begin(),vec.end()),若是前4个数排序可以用sort(vec.begin(),vec.begin()+4)
如:
vector<int> vec1;
vec1.push_back(4);
vec1.push_back(2);
sort(vec1.begin(),vec1.begin()+2);
for(int i=0;i<vec1.size();i++)
{
cout<<vec1[i];//[2,4] 原本是[4,2]
}
12、将动态数组初始化一个数或数组大小可以这样;
vector<int> vec(100,0);//大小为100所有数为0的动态数组
希望这期可以帮到你,若有问题,尽管发表评论指出,期待你的回复。