您的位置:首页 > 编程语言 > Java开发

java实现快速排序-递归

2015-05-13 12:14 274 查看
快速排序主要思想:利用分治思想,设置一个pivot,比该pivot大的数放在右边,比该pivot小数的放在左边,该pivot的位置确定,从而把数列一分为二,继续递归循环。

package Sort;

public class quicksort2 {

public static int Partition(int A[],int left,int right)

{

int pivotkey=A[right];

int temp;

int i=left-1;

for(int j=left;j<=right;j++)

{

if(A[j]<=pivotkey)

{

i++;

temp=A[i];

A[i]=A[j];

A[j]=temp;

}

}

A[i]=pivotkey;

return i;

}

public void quicksort(int A[],int p,int r)

{

int q;

if(p<r)

{

q=Partition(A, p, r);

quicksort(A, p, q-1);

quicksort(A, q+1, r);

}

}

public static void main(String[] args) {

int[] arr={49,38,65,97,76,13,27 };

quicksort2 quick=new quicksort2();

quick.quicksort(arr, 0, arr.length-1);

for(int i=0;i<arr.length;i++)

{

System.out.print(arr[i]+",");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: