目录
一、基本概念
1.功能
2.动态扩展
二、部分操作
1.构造函数
2.常用函数
3.创建二维数组?
一、基本概念
1.功能
·vector数据结构与数组非常相似,也称为单端数组,但是可以动态扩展。
2.动态扩展
·并不是在原空间之后继续接新空间,而是找更大的内存空间,将原数据拷贝至新空间,释放原空间
·vector容器的迭代器支持随机访问
二、部分操作
1.构造函数
头文件 #include<vector>;
vector<T> v; T是数据类型 eg:int ,long ... v是名称
vector<T> v; //采用模板实现类实现,默认构造函数
vector(v.begin(), v.end()); //将v[begin(),end())区间(前闭后开)中的元素拷贝给本身
vector(n, elem); //构造函数将n个elem拷贝给本身
vector(const vector &vec); //拷贝构造函数
2.常用函数
v.push_back()//在尾部添加数据
v.pop_back()//弹出尾部数据
v.at()//得到编号位置的数据
v.begin()//得到数组头指针
v.end()//数组最后一个单元+1的指针
v.clear()//清除数组
v.size()//元素个数
v.empty()//是否为空
v.insert(v.begin()+i,a)//在第i个元素后面插入a
v.erase(v.begin()+2)//删除第三个元素,即v[2]
v.erase(v.begin()+i,v.end()+j)//删除区间[i,j-1]
v.front()//返回容器中第一个元素
v.back()//返回容器中最后一个元素
3.创建二维数组?
vector<vector<int>>array; //定义二维数组
vector<int>v;
int temp=0;
//输入二维数组
for(int i = 0; i < n; i++)
{
v.clear(); //子数组返回时要清除
for(int j = 0; j < n; j++)
{
cin>>temp;
v.push_back(temp);
}
array.push_back(v);
}
//打印输出二维数组
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
cout<<array[i][j]<<" "<<endl;
}
}
|