1 #include<iostream>
 2 #include<vector>
 3 #include<algorithm>
 4 using namespace std;
 5 bool cmp(const vector<int> &a, const vector<int> &b) {
 6     return a[1] < b[1];
 7 }
 8 int main()
 9 {
10     vector<vector<int>> vet;
11     int RR, CC;
12     cin >> RR >> CC;
13     for (int i = 0; i<RR; i++)        //输入数据
14     {
15         vector<int> myvector;
16         for (int j = 0; j<CC; j++)
17         {
18             int tempVal = 0;
19             cin >> tempVal;
20             myvector.push_back(tempVal);
21         }
22         vet.push_back(myvector);
23     }
24     cout << vet.size() << endl;    //计算行数
25     cout << vet[0].size() << endl; //计算列数
26     sort(vet.begin(), vet.end());  //仅对第一列进行排序
27     for (int i = 0; i < RR; i++)
28     {
29 
30         for (int j = 0; j < CC; j++)
31         {
32             cout << vet[i][j] << " ";
33         }
34         cout << endl;
35     }
36     sort(vet.begin(), vet.end(),cmp);// 利用cmp可以根据其他列排序。
37     for (int i = 0; i < RR; i++)
38     {
39 
40         for (int j = 0; j < CC; j++)
41         {
42             cout << vet[i][j] << " ";
43         }
44         cout << endl;
45     }
46     system("pause");
47     return 0;
48 }

 方法二:插入的不同方法

#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
int main()
{
	int r = 2;
	int c = 3;
	vector<vector<int>> vet(r,vector<int>(c));
	
	
	for (int n = 0; n<r*c; n++) 
	{
		vet[n / c][n%c] = 45;
	}
	for (int n = 0; n<r*c; n++)
	{
		cout << vet[n / c][n%c] << endl;
	}
	system("pause");
	return 0;
}

  

posted on 2017-04-25 10:27  无惧风云  阅读(3970)  评论(0编辑  收藏  举报