三路快排
Posted yuhong1103
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三路快排相关的知识,希望对你有一定的参考价值。
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 }
以上是关于三路快排的主要内容,如果未能解决你的问题,请参考以下文章