vector二维数组使用

本文综述了二维数组使用,代码可以跑一下看看效果。

#include<iostream>
#include<vector>
using namespace std;
//method 1
/*
int main()
{
	int row, column;
	cin >> row >> column;
	//申请空间
	vector<vector<int> > a;
	a.resize(row, vector<int>(column));
	//使用空间
	for (int j = 0; j < a.size(); j++)
	for (int k = 0; k< a[j].size(); k++)
		a[j][k] = 2 * j + k;
	//output
	for (int j = 0; j < a.size(); j++)
	{
		cout << endl;
		for (int k = 0; k< a[j].size(); k++)
		{
			cout << a[j][k] << "     ";
		}
	}
	system("pause");
	return 0;
}
*/

//method2
/*
int main()
{
	int row, column;
	cin >> row >> column;
	//方法二
	//申请空间
	vector<vector<int> > a;
	a.resize(row);
	for (int i = 0; i < row; ++i)
		a[i].resize(column);

	//使用空间
	for (int j = 0; j < a.size(); j++)
	for (int k = 0; k< a[j].size(); k++)
		a[j][k] = 2*j + k;

	for (int j = 0; j < a.size(); j++)
	{
		cout << endl;
		for (int k = 0; k< a[j].size(); k++)
		{
			cout << a[j][k] << "     ";
		}
	}
	system("pause");
	return 0;
}
*/
//method 3
/*
int main()
{
	int row, column;
	cin >> row >> column;
	//申请空间
	vector<vector<int> > a(row, vector<int>(column));//默认初始化内容为0
	//vector<vector<int> > a(row, vector<int>(column,-1));//用-1初始化二维数组
	//使用空间
	for (int j = 0; j < a.size(); j++)
	for (int k = 0; k< a[j].size(); k++)
		a[j][k] = j+k;

	for (int j = 0; j < a.size(); j++)
	{
		cout << endl;
		for (int k = 0; k< a[j].size(); k++)
		{		
			cout << a[j][k] << "     ";
		}
	}
	system("pause");
	return 0;
}
*/


//method 4
int main()

{
	vector < vector<int> > a; // a是向量类型的向量 
	vector <int> v1; // v1是int类型的向量 
	int i, j, m,row,column;
	cin>>row>>column;
	for (i = 0; i <row; i++) // a有4个元素 
	{
		a.push_back(v1);// 每个元素是v1 
	}
	for (j = 0; j < row; j++)
	{
		for (i = 0; i <column; i++)
		{
			a[j].push_back(i+j);
// a的第i个元素插入一个量 // 就是每个v1插入一个量 // a[0]插入,a[1]插入,a[2]插入,a[3]插入 
			// 如此循环四次,相当于按列的顺序插入  
		}
	}
	cout << "Size:" << a.size() << endl;
	for (i = 0; i < a.size(); i++)
	{
		for (j = 0; j < a[i].size(); j++)
		{
			cout << a[i][j] << " "; // 输出a[0][0],a[0][1]a[0][2],a[0][3]// 输出a[1][0],a[1][1]a[1][2],a[1][3]// 如此第一个索引值循环4次,相当于按行的顺序输出  
		}
		cout << endl; // 输出一行就换行 
	}
	system("pause");
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值