快速排序算法

快速排序

package algorithm;

import java.util.Arrays;

public class QuickSort {
	private static int[] a={11,6,33,0,33,21,89,34,0,90,123,4,33,21};
	
	public static void swap(int i,int j){
		int temp=a[i];
		a[i]=a[j];
		a[j]=temp;
	}
	
	public static void quickSort(int left,int right){
		if(left>=right){
			return ;
		}
		
		int temp=a[left];
		int i=left;
		int j=right;
		
		while(i<j){
			while(a[j]>temp&&i<j){
				j--;
			}
			
			while(a[i]<=temp&&i<j){
				i++;
			}
			
			swap(i,j);
		}
		
		swap(left,j);
		quickSort(left,j-1);
		quickSort(j+1,right);
	}
	
	public static void main(String[] args){
		quickSort(0,a.length-1);
		System.out.println(Arrays.toString(a));
		
	}
}
点赞