之前我们分享了STL的一些容器,再介绍vector中只介绍了二维的vector的定义并没有说二维的vector怎么遍历,那么我们今天就来看下二维的vector怎么遍历
看下面的代码吧。
#include<stdio.h> //时间复杂度为n²longn #include<algorithm> #include<vector> #include<stdlib.h> //产生随机数 #include<iostream> using namespace std; int main() { vector<vector<int>> viA(10); for (int i = 0; i < 10;i++) for (int j = 0; j < 10; j++)
{ viA[i].push_back(rand()%100); //根据实际情况输入你想要的值 } for (int i = 0; i < 10; i++)
{ for (int j = 0; j < 10; j++)
{ cout << viA[i][j] << "\t"; } cout << endl; } cout << "按行排序后的输出" << endl; for (int i = 0; i < 10; i++)
{ sort(viA[i].begin(), viA[i].end());//默认为从小到大排序 } for (int i = 0; i < 10; i++)
{ for (int j = 0; j < 10; j++)
{ cout << viA[i][j] << "\t"; } cout << endl; }return 0; }
#include<iostream> //个人感觉这个排序的代码完全没有必要,应为排完之后就变为了一个一维的数组了,看实际情况来说吧
#include<cstdio>
#include<algorithm>
using namespace std;
bool cmp(int p,int q)
{
return p>q;
}
int main()
{
int i;
int m[3][2];
m[0][0]=1; m[0][1]=7;
m[1][0]=4; m[1][1]=5;
m[2][0]=2; m[2][1]=9;
sort( (int*)m, (int*)m+6, cmp);
for(i=0;i<3;i++)
{
printf("%d %d\n",m[i][0],m[i][1]);
}
return 0;
}