快速排序

 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 }
原文地址:https://www.cnblogs.com/85per/p/3827047.html