普及组复赛前复习练手
1、快速排序
void qsort(int a[],int l,int r) { int i=l,j=r,mid=(l+r)/2,t; do{ while(a[i]<a[mid]) i++; while(a[j]>a[mid]) j--; if(i<=j) { t=a[i];a[i]=a[j];a[j]=t; i++;j--; } }while(i<=j); if(l<j) qsort(a,l,j); if(i<r) qsort(a,i,r); } 2、冒泡排序 void bsort(int a[]) { bool p; int i,j,t;i=0; do{ p=0;i++; for(j=1;j<=n-i;j++) if(a[j]>a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; p=1; } }while(p); } 3、插入排序 void insertsort(int n,int a[]) { int i,x,j; for(i=2;i<=n;i++) { x=a[i];j=i-1; while(x<a[j]) { a[j+1]=a[j]; j--; } a[j+1]=x; } } 4、选择排序 void selectsort(int n,int a[]) { int i=0,j,t; bool p; do{ p=0;i++; for(j=i;j<=n;j++) if(a[i]>a[j]) { t=a[i];a[i]=a[j];a[j]=t; p=1; } }while(p); }