C++vector实例 ,vector二维数组初始化赋值及函数参数

本文介绍如何在C++中使用vector创建和初始化二维数组,包括直接声明、定义及赋值的方法,并提及通过迭代器输出vector二维数组的实现。

记录直接声明并定义二维数组vector:

 vector<vector<string>> tickets = { {"MUC""LHR"}, { "JFK" "MUC" }, { "SFO" "SJC" }, { "LHR" "SFO" } };
  vector<pair<int, int>>sortB(length);
    for (int i = 0; i < length; i++) {
        sortB[i] = { nums2[i], i };
    }

给定一个 n × n 的矩阵,求它顺时针旋转 90 度的结果,且必须在原矩阵上修改(in-place)。
怎样能够尽量不创建额外储存空间呢?

```cpp
#pragma once
#ifndef MATRIX_H_INCLUDE
#define MATRIX_H_INCLUDE
#include <vector>
using namespace std;

class Matrix
{
public:Matrix();
	  ~Matrix();
	  void rotate(vector<vector<int> >& vec);
private:
	
};

#endif // !MAXT

注释掉的初始化和利用迭代器输出vector二维数组都是可运行的

void main()
{
	int n = 3;
	int temp;
	vector<vector<int> > vec(n);
	Matrix matrix;

	//初始化vector
	//for (int i = 0; i < n; i++)
	//{
	//	vec[i].resize(n);
	//}
	
	//输入
	printf("INPUT:[\n");
	for (int i = 0; i < n; i++)
	{
		printf("[");
		for (int j = 0; j < n; j++)
		{
			cin >> temp;
			vec[i].push_back(temp);
				
		}
		printf("] ");
	}
	printf("]");
	cout << endl;
	//cout << vec[2].back();
	//矩阵旋转90
	matrix.rotate(vec);
	
	//使用迭代器
	/*vector<int>::iterator it;	//it 是一个地址 
	vector<vector<int>>::iterator iter;
	vector<int> vec_tmp;

	cout << "OUTPUT : " << endl;
	for (iter = vec.begin(); iter != vec.end(); iter++)
	{
		vec_tmp = *iter;
		for (it = vec_tmp.begin(); it != vec_tmp.end(); it++)
			cout << *it << " ";
		cout << endl;
	}*/
	
	//输出
	printf("OUTPUT:[\n");
	for (int i = 0; i < n; i++)
	{
		printf("[");
		for (int j = 0; j < n; j++)
		{
			cout<< vec[i][j]<<" ";

		}
		printf("],\n");
	}
	printf("]");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值