QuickSort

来源:互联网 发布:失忆知乎 编辑:程序博客网 时间:2024/06/04 23:22
package quickSort;import java.util.Arrays;import java.util.Random;public class QuickSort {public static void main(String[] args) {int arrLen = 10 ;int [] arr = new int [arrLen];if(createData(arr,arrLen,1,100)){System.out.println("will sorted :");System.out.println(Arrays.toString(arr));quickSort(arr,0,arrLen-1);System.out.println("sorted :");System.out.println(Arrays.toString(arr));}}private static void quickSort(int[] arr, int left, int right) {int index ,j ;if(left < right){index = division(arr,left,right);//seperatequickSort(arr, left, index-1);//sort for two sidequickSort(arr, index+1, right);}}private static int division(int[] arr, int left, int right) {int base = arr[left];//基准元素while(left<right){while(left < right && arr[right] > base)--right;//从右向左找第一个比基准小的元素arr[left] = arr[right];while(left < right && arr[left] < base)++left;//从左向右找第一个比基准大的元素arr[right] = arr[left];}arr[left] = base;return left;}private static boolean createData(int[] arr, int arrLen, int i, int j) {for(int index = 0; index< arrLen ; index ++){if(index == arrLen){return true;}arr[index]   = i+new Random().nextInt(j);}return true;}}


0 0