#include<stdio.h> struct fruit { int mark; int apple; int pear; }fruits[10000]; //const int maxn = 100000; //fruit fruits[maxn]; //struct fruit fruits[maxn]; int InsertSort(fruit fruits[], int n) { fruit temp; int i, j; for (i = 1; i < n; i++) { if (fruits[i].pear > fruits[i - 1].pear) { temp = fruits[i]; printf("临时%d \n", temp.pear); for (j = i - 1; temp.pear > fruits[j].pear; j--) { fruits[j + 1] = fruits[j]; } fruits[j + 1] = temp; } } for (i = 1; i < n; i++) { if (fruits[i].apple > fruits[i - 1].apple) { temp = fruits[i]; for (j = i - 1; temp.apple > fruits[j].apple; j--) { fruits[j + 1] = fruits[j]; } fruits[j + 1] = temp; } } for (int k = 0; k < n; k++) { printf("篮子%d 苹果%d 梨%d\n", fruits[k].mark, fruits[k].apple, fruits[k].pear); } return 0; } int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &fruits[i].apple, &fruits[i].pear); fruits[i].mark = i + 1; } InsertSort(fruits, n); for (int j = 0; j < n; j++) { printf("%d ", fruits[j].mark); } return 0; } |
Double click to view unformatted code.