之前我們分享了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;
}