1 void quick_sort(int s[],int l,int r) 2 { 3 if (l<r) 4 { 5 int i=l,j=r,x=s[l]; 6 while (i<j) 7 { 8 while(i<j&&s[j]<x) // 从右向左找第一个小于x的数 9 j--; 10 if(i<j) 11 s[i++] = s[j]; 12 while(i<j&&s[i]>=x) // 从左向右找第一个大于等于x的数 13 i++; 14 if(i<j) 15 s[j--]=s[i]; 16 } 17 s[i] = x; 18 quick_sort(s, l, i - 1); // 递归调用 19 quick_sort(s, i + 1, r); 20 } 21 }