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

quicksort

时间:2018-04-20 20:39:08      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:creat   []   oid   author   int end   quick   ++   ati   util   


import java.util.Arrays;

/**
* @author Created by on 18/4/20.
*/
public class QuickSort {

public static int partition(int[] array, int left, int right) {//没有设置第2个和第3个参数,这个最严重问题
int begin = left;
int end = right;
int pivot = array[left];
while(begin < end) {
while(begin < end && pivot <= array[end]) {
end--;
}
array[begin]= array[end];
array[end] = pivot;
while(begin < end && pivot > array[begin]) {//=漏
begin++;
}
array[end] = array[begin];
array[begin] = pivot;

}

return end;
}

public static void quicksort(int[] array, int i, int j) {
if (i >=j) {//没有判断返回,这是第二严重问题
return;
}
int result = partition(array, i, j);
quicksort(array,i,result-1);
quicksort(array,result+1,j);
}

public static void main(String[] args) {
int[] array= {49,38,65,97,76,13,27,49};
quicksort(array,0,7);
System.out.println(Arrays.toString(array));
}
}

quicksort

标签:creat   []   oid   author   int end   quick   ++   ati   util   

原文地址:https://www.cnblogs.com/godfatherback/p/8893217.html

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