码迷,mamicode.com
首页 > 其他好文 > 详细

三路快排

时间:2020-03-30 19:29:19      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:return   ret   交换   code   art   int   等于   else   more   

 1 void partition(int arr[], int l, int r, int num)//三路快排
 2 {
 3     int less = l - 1;
 4     int more = r + 1;
 5     int cur = 0;
 6     while (cur < more)
 7     {
 8         if (arr[cur] < num)//左边交换,直接下一个数
 9         {
10             swap(arr[++less], arr[cur++]);
11         }
12         else if (arr[cur] > num)// 右边交换,注意交换之后还是看当前位置的数
13         {
14             swap(arr[--more], arr[cur]);
15         }
16         else  //等于这个数,直接下一个数
17         {
18             cur++;
19         }
20     }
21     return;
22 }

 

三路快排

标签:return   ret   交换   code   art   int   等于   else   more   

原文地址:https://www.cnblogs.com/yuhong1103/p/12600467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!