阅读背景:

快速排序Java的实现

来源:互联网 
算法导论上面的算法
public class QuickSort {
	/*A是待排序数值,p是数组起始位置,r是数组结束位置*/
	public void quicksort(int[] A,int p,int r){
		if(p < r)
		{
			int q = partition(A,p,r);
			quicksort(A,p,q-1);
			quicksort(A,q+1,r);
		}
	}

	public int partition(int[] A, int p, int r) {
		int x = A[r];
		int i =p-1;
		for(int j = p; j < r; j++)
		{
			if(A[j]<=x)
			{
				i = i+1;
				swap(A,i,j);
			}
		}
		swap(A,i+1,r);
		return i+1;
	
	}
	
	public void quick(int[] A)
	{
		if(A.length > 0)
		{
			quicksort(A,0,A.length-1);
		}
	}
	
	public static void swap(int [] arr,int x ,int y)
	{
		int temp=arr[x];
		arr[x]=arr[y];
		arr[y]=temp;
	}
}
public class QuickSort {
	/*A是待排序数



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: