给定n行整型数据,对其进行排序,排序规则是:比较第一个数字,第一个数字大的排在前面,第一个数字相同再比较第二个数字,以次类推
可直接对vector进行排序
定义vector类型数组vt[MAXN],其中数组的每一个元素是一个vector,定义比较函数直接对vector进行排序即可
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;
const int MAXN = 1000 + 10;
vector<int> vt[MAXN];
int cmp(vector<int> a, vector<int> b){
return a > b;
}
void Init(int n){
for (int i = 0; i < n; ++i) {
vt[i].clear();
}
}
int main(){
int T;
scanf("%d", &T);
while (T--){
int n;
scanf("%d", &n);
Init(n);
for (int i = 0; i < n; ++i) {
int number;
scanf("%d", &number);
while (number != -1){
vt[i].push_back(number);
scanf("%d", &number);
}
}
sort(vt, vt + n, cmp);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < vt[i].size(); ++j) {
printf("%d ", vt[i][j]);
}
printf("\n");
}
}
return 0;
}