Java数组快速排序

package com.quicksort;

public class QuickSort {
	
	public static void main(String[] args){
		int[] array = {9,5,21,3,7,8};
		int[] b = kuaisu(array);
		for(int i:b){
			System.out.print(i + "  ");
		}
	}
	
	public static int[] kuaisu(int[] arr) {
		return quicksort(arr, 0, arr.length - 1);
	}

	public static int[] quicksort(int[] arr, int left, int right) {
		int t;
		if (left < right) {
			int s = arr[left];
			int i = left;
			int j = right + 1;
			while (true) {
				while (i + 1 < arr.length && arr[++i] < s)
					;
				while (j - 1 > -1 && arr[--j] > s)
					;
				if (i >= j) {
					break;
				} else {
					t = arr[i];
					arr[i] = arr[j];
					arr[j] = t;
				}
			}

			arr[left] = arr[j];
			arr[j] = s;
			quicksort(arr, left, j - 1);
			quicksort(arr, j + 1, right);
		}
		return arr;

	}
}
 

猜你喜欢

转载自lizhuang.iteye.com/blog/1071158