#include <iostream.h> void set(int a[],int n){ int b; for(int i=0;i<n;i++){ for(int j=i;j<10;j++){ int b=a[i]; if(b>a[j+1])b=a[j+1]; } a[i]=b; } cout<<"数组按小到大的顺序为"<<endl; for(int k=0;k<10;k++){ cout<<a[k]; } }
void main(){ int a[10]={3,5,2,67,432,5645,78,454,14,54}; int i=10; set(a,i);
}
不好意思,好象错了,修正了v2.0版,测试通过了 :>>> #include <stdio.h> #define N 11 void kuaixu_paixu(int a[],int m,int n) { int i,j; i=m;j=n; if(m<n) { a[0]=a[m]; do { while(i<j && a[j]>=a[0]) j--; if(i<j) { a[i]=a[j]; i++; } while(i<j && a[i] <=a[0]) i++; if(i<j) { a[j]=a[i]; j--; } }while(i<j); a[i]=a[0]; kuaixu_paixu(a,m,j-1); kuaixu_paixu(a,j+1,n); }
} void main() { int i,a[N]; for(i=1;i<N;i++) scanf("%d",&a[i]); kuaixu_paixu(a,1,N-1); for(i=1;i<N;i++) printf("%5d",a[i]); getch(); }