// 排序.cpp : 定义控制台应用程序的入口点。 // #include<stdio.h> #include<stdlib.h> #include<string.h> void qsort1(int a[],int n) { int first=0,last=n-1; qsort2(a,first,last); } void qsort2(int a[],int first,int last) { int tmp=first,temp=a[first],i=first,j=last,flag=0; while(i<j) { if(flag==0) { if(a[j]<temp) { a[tmp]=a[j]; tmp=j; flag=1; } else j--; } else { if(a[i]>temp) { a[tmp]=a[i]; tmp=i; flag=0; } else i++; } } a[tmp]=temp; if(first<tmp-1) qsort2(a,first,tmp-1); if(tmp+1<last) qsort2(a,tmp+1,last); } int main() { int a[20],i; for(i=0;i<10;i++) scanf("%d",&a[i]); qsort1(a,10); for(i=0;i<10;i++) printf("%d\n",a[i]); return 0; } |
Double click to view unformatted code.