//快速排序,通过测试 #include "stdio.h" void quickSort(int* data,int len){ if(len<=1) return; int start=0; int end=len-1; int pivot=data[0]; while(start<end){ for(;start<end;end--){ if(data[end]<pivot){ data[start++]=data[end]; break; } } for(;start<end;start++){ if(data[start]>pivot){ data[end--]=data[start]; break; } } } data[start]=pivot; quickSort(data,start); quickSort(data+start+1,len-start-1); } void main (){ int data[]={9,8,7,6,5,4,3,2,1}; quickSort(data,sizeof(data)/sizeof(int)); for(int i=0;i<sizeof(data)/sizeof(data[0]);i++){ printf("%d ",data[i]); } }