java排序之壹------快速排序代码(改进)

来源:互联网 发布:手机淘宝联盟登录不上 编辑:程序博客网 时间:2024/05/16 19:08
package com.xxzzycq.sort;public class Sorting{public static void quickSort(Comparable[] data, int min, int max){int pivot;if(min < max){pivot = partition(data, min ,max);quickSort(data, min, pivot-1);quickSort(data, pivot+1, max);}}private static int partition(Comparable[] data, int min, int max){Comparable partitionValue = data[min];int left = min;int right = max;while(left < right){while((data[right].compareTo(partitionValue) >= 0)&&(left < right)){right--;}if(left < right){data[left++] = data[right];}while((data[left].compareTo(partitionValue) <= 0)&&(left < right)){left++;}if(left < right){data[right--] = data[left];}}data[left] = partitionValue;return left;}public static void display(Comparable[] data){for(int i = 0; i < data.length; i++){System.out.print(data[i]);System.out.print(" ");}}public static void main(String[] args){Integer[] data = new Integer[]{45, 65, 30 , 85, 69, 78,5, 69, 987, 42, 15};quickSort(data, 0, data.length - 1);display(data);}}

原创粉丝点击