STL之vector的对二维数组操作的实现方法(简单全面、易理解!!!)

vector操作二维数组的使用方法总结

1. 初始化一个二维数组

一般如果已知数组的行数,那么我们可以声明变量的同时申请内存:

vector<vector <int> > a(3);//初始化的是3*3的矩阵 

注意我们所申请的矩阵行数和列数默认相等的,如果我们需要行数和列数不相等的二维数组,那么我们可以对每一行所包含的元素个数加以限制;

for(int i=0;i<a.size();i++)//利用resize函数将每一行的元素个数设置为5个,即5列 
	a[i].resize(5);

此时我们得到的就是一个3行5列的二维数组;还有一点需要注意的是,如果我们采用
size函数来得到数组规模,那么我们所得到的结果是矩阵的行数,如果需要得到列数可以使用a[0].size()

vector<vector <int> > a(3);//初始化的是3*3的矩阵 
for(int i=0;i<a.size();i++)//利用resize函数将每一行的元素个数设置为5个,即5列 
	a[i].resize(5);
cout<<a.size()<<endl;//打印的是vector的行数

除上述初始化行列数不同的二维数组之外,我们也可以直接定义,结果也是3行5列的二维数组

vector<vector<int> > Array(3, vector<int>(5));
	cout<<Array[0].size()<<endl;

2.二维数组的增添

2.1 添加一行
//插入一行数组:将in_row数组插入到第2行! 
vector<int> in_row(5,6);//初始化一个数组,包含5个元素并且全为6
a.insert(a.begin()+2,in_row);
cout<<"插入后:"<<endl;
show(a);

《STL之vector的对二维数组操作的实现方法(简单全面、易理解!!!)》

2.2 插入一列
vector<int> in_line(5,9);
for(int i=0;i<a.size();i++)
{ 
	a[i].insert(a[i].begin()+2,9);
}
cout<<"插入后:"<<endl;
show(a);

《STL之vector的对二维数组操作的实现方法(简单全面、易理解!!!)》

3. 二维数组的删除
3.1 删除一行
a.erase(a.begin()+2,a.begin()+3); 
cout<<"删除后:"<<endl;
show(a);

《STL之vector的对二维数组操作的实现方法(简单全面、易理解!!!)》

3.2 删除一列
//删除a的第二列
	for(int i=0;i<a.size();i++)
	{ 
		a[i].erase(a[i].begin()+2,a[i].begin()+3);
	} 
	cout<<"删除后:"<<endl;
	show(a);

《STL之vector的对二维数组操作的实现方法(简单全面、易理解!!!)》

    原文作者:N/Z/R/
    原文地址: https://blog.csdn.net/qq_45955883/article/details/116130091
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞