1. 程式人生 > >快速排序————java

快速排序————java

package 小米oj;

public class 快速排序 {

	public static void main(String[] args) {
		int a[] = {3,5,2,44,222,33333,1};
		quicksort(a,0,a.length-1);
		for(int i=0;i<a.length;i++)
		{
			System.out.println(a[i]);
		}
			
		
	}
	public static void quicksort(int a[],int start,int end)
	{
		if(start>=end)
return; int i=start,j=end; while(i!=j) { while(i<j&&a[i]<=a[j]) j--; swap(a,i,j); while(i<j&&a[j]>a[i]) i++; swap(a,i,j); } quicksort(a,start,i-1); quicksort
(a,i+1,end); } public static void swap(int a[],int i,int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } }

將a[i]放到一定的位置,這段程式碼寫得比較生,主要兩段來回換,從而達到N的複雜度