#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare ( const void *pa, const void *pb )
{
const int *a = pa;
const int *b = pb;
if(a[0] == b[0])
return a[1] - b[1];
else
return a[0] - b[0];
}
int main(void)
{
int n = 5;
int array[n][2];
int i;
for (i = 0; i < n; i++)
{
array[i][1] = i;
}
for(i = 0; i < n; ++i)
printf("%2d, %2d\n", array
[i
][0], array
[i
][1]);
qsort(array
, n
, sizeof array
[0], compare
);
for(i = 0;i < n;++i)
printf("%2d, %2d\n", array
[i
][0], array
[i
][1]); }
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KCmludCBjb21wYXJlICggY29uc3Qgdm9pZCAqcGEsIGNvbnN0IHZvaWQgKnBiICkKewogICAgY29uc3QgaW50ICphID0gcGE7CiAgICBjb25zdCBpbnQgKmIgPSBwYjsKICAgIGlmKGFbMF0gPT0gYlswXSkKICAgICAgICByZXR1cm4gYVsxXSAtIGJbMV07CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIGFbMF0gLSBiWzBdOwp9CgppbnQgbWFpbih2b2lkKQp7CglzcmFuZCgodW5zaWduZWQpdGltZShOVUxMKSk7CglpbnQgbiA9IDU7CiAgICBpbnQgYXJyYXlbbl1bMl07CiAgICBpbnQgaTsKCiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQoJewogICAgICAgIGFycmF5W2ldWzBdID0gcmFuZCgpJTY7CiAgICAgICAgYXJyYXlbaV1bMV0gPSBpOwogICAgfQogICAgZm9yKGkgPSAwOyBpIDwgbjsgKytpKQogICAgICAgIHByaW50ZigiJTJkLCAlMmRcbiIsIGFycmF5W2ldWzBdLCBhcnJheVtpXVsxXSk7CgogICAgcHJpbnRmKCJcbiIpOwoKICAgIHFzb3J0KGFycmF5LCBuLCBzaXplb2YgYXJyYXlbMF0sIGNvbXBhcmUpOwoKICAgIGZvcihpID0gMDtpIDwgbjsrK2kpCiAgICAgICAgcHJpbnRmKCIlMmQsICUyZFxuIiwgYXJyYXlbaV1bMF0sIGFycmF5W2ldWzFdKTsKfQ==
5, 0
1, 1
5, 2
4, 3
3, 4
1, 1
3, 4
4, 3
5, 0
5, 2