快速排序 void qsort(int* a,int n) { if(n>1) { int i=-1; int j=0; int k=n-1; int t; for(j=0;j<n-1;j++) { if(a[j]<a[k]) { i++; t=a[j];a[j]=a[i];a[i]=t; } } t=a[i+1];a[i+1]=a[k];a[k]=t; qsort(&a[0],i+1);//其实这里a[0]在不同级递归调用中是不同的,但含义不变始终表示每个分段数组的第一个元素 qsort(&a[i+1],1); qsort(&a[i+2],j-i-1); } }