快速排序;

 快速排序 
  a.确定一个基准值 (选择的数组首元素)
  b.从右向左 找比基准值 小的值 
  c.从左往右 找比基准值 大的值 
  d.交换找到的两个值 
  e.重复 b ~ d ,直到 begin 与 end相遇 ,
    将相遇位置的值 与 基准位置上的值交换 
  f.针对 比基准值小的一部分 继续快速排序 
         比基准值大的一部分 继续快速排序 

141 void quickSort(int *begin,int *end)
142 {
143     int *p = begin;
144     int *q = end;
145     int *k = NULL;
146     if(begin >= end)
147     {
148         return;
149     }
150     k = begin;
151     while(begin < end)
152     {
153         while(begin < end && *end >= *k)
154         {
155             --end;
156         }
157         while(begin < end && *begin <= *k)
158         {
159             ++begin;
160         }
161         swap(begin,end);
162     }
163     swap(begin,k);
164     quickSort(p,end-1);
165     quickSort(begin+1,q);                                      
166 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值