首页 > 编程语言 > 详细

快速排序

时间:2015-04-14 12:42:33      阅读:295      评论:0      收藏:0      [点我收藏+]

快速排序的数组实现

 1 void quickSort(int *arr, int low, int high)
 2 {
 3     int pivot = arr[low];// 将第一个元素作为支点
 4     int beg = low, end = high;//暂存起点、终点下标
 5 
 6     while(low < high)
 7     {
 8         while(low < high && arr[high] >= pivot)
 9             high--;
10         arr[low] = arr[high];
11 
12         while(low < high && arr[low] <= pivot)
13             low++;
14         arr[high] = arr[low];
15 
16         arr[low] = pivot;//将支点放到最终的位置
17     }
18     //递归
19     if(beg != low)
20         quickSort(arr,beg,low-1);
21     if(end != high)
22         quickSort(arr,low+1,end);
23 }

 

快速排序

原文:http://www.cnblogs.com/cpsmile/p/4424490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!