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


相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页