输入包括两行,第一行是一个正整数N(N<=1000000),表示理工大共N个美女。第二行有N个正整数分别表示N位美女的身高,每个正整数的值不会超过10^9。 (输入数据之间会用空格隔开)
#include<stdio.h> int a[1100001]; int pp(int low,int h) { int key=a[low]; while(low < h) { while(key <= a[h] && low < h) h--; a[low]=a[h]; while(key >= a[low] && low < h) low++; a[h]=a[low]; } a[low]=key; return low; } void paixu(int low, int h) { if(low>=h) return ; int mid=pp(low,h); paixu(low,mid-1); paixu(mid+1,h); } int main() { int i; int n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } paixu(0,n-1); for(i=n-1; i>=0; i--) { printf("%d", a[i]); if(i>0) printf(" "); else printf("\n"); } return 0; }
每天训练发现我比别人做的好慢,但是理解的更深刻,如果一开始学一个新知识点就搜模板,那么这样的人是走不远的,毕业之后带走的只有思维,什么荣誉,奖杯都已经不重要了。