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
//使⽤迭代器
/*vector<int>::iterator it; //it 是⼀个地址
vector<vector<int>>::iterator iter;
vector<int> vec_tmp;
cout << "OUTPUT : " << endl;
for (iter = vec.begin(); iter != d(); iter++)
{
定义数组初始化vec_tmp = *iter;
for (it = vec_tmp.begin(); it != d(); 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("]");
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。