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);

在这里插入图片描述

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);

在这里插入图片描述

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

在这里插入图片描述

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);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yozu_Roo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值