CSU1215

来源:互联网 发布:360手机数据恢复 编辑:程序博客网 时间:2024/06/04 01:09

转自:http://blog.csdn.net/nameofcsdn/article/details/52334111

题目:

Description

给出二元数组a[MAXN][2],按第一个关键值从小到大排序后输出,要求第一关键值相同情况下不改变原数组次序

Input

每组数据第一行为整数n,1 <= n <= 10 ^ 5。

接下来n行每行两个整数空格隔开。

Output

输出排序后的数组

Sample Input

32 41 02 334 20 40 2

Sample Output

1 02 42 30 40 24 2
代码如下:

#include<iostream>#include<algorithm>using namespace std;struct num{long data1;long data2;long key;//////////////////}Num[100005];bool cmp(num a, num b){if (a.data1 == b.data1)return a.key < b.key;//////////////////elsereturn a.data1<b.data1;}int main(){ios::sync_with_stdio(false);int n;while (cin >> n){for (int i = 0; i < n; i++)cin >> Num[i].data1 >> Num[i].data2, Num[i].key = i;///////sort(Num, Num + n, cmp);for (int i = 0; i<n; i++)cout << Num[i].data1 << " " << Num[i].data2 << endl;}return 0;}