黑马程序员技术交流社区
标题:
(让你轻松学会快速排序) 源码+视频
[打印本页]
作者:
ノtrack
时间:
2014-4-16 18:28
标题:
(让你轻松学会快速排序) 源码+视频
视频地址: 快排视频
源码如下:
/**快速法排序
* @param arr 需要排序的数组
* @param left 数组最小下标(一般是0)
* @param right 数组最大下标(一般是Length-1)
* @return int[]
*/
private static int[] fastSort(int[] arr,int left,int right){
if(left < right){
int s = arr[left];
int i = left;
int j = right + 1;
while(true){
//向右找大于s的元素的索引
while(i+1 < arr.length && arr[++i] < s);
//向左找小于s的元素的索引
while(j-1 > -1 && arr[--j] > s);
//如果i >= j 推出循环
if(i >= j){
break;
}else{
//交换i和j位置的元素
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
arr[left] = arr[j];
arr[j] = s;
//对左面进行递归
fastSort(arr,left,j-1);
//对右面进行递归
fastSort(arr,j+1,right);
}
return arr;
}
复制代码
作者:
ノtrack
时间:
2014-4-16 18:29
地址: http://tieba.baidu.com/p/1797158322 我不是插入url了么 咋的不行
作者:
ノtrack
时间:
2014-4-16 18:30
地址在一楼, 学习去了..:lol
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2