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

java实现快速排序

2015-08-12 15:57 686 查看
java实现快速排序:

[java] view
plaincopy

public class QuickSort {

public static void sort(int [] array , int left ,int right)

{

int i,j,tValue,bValue ;

if(left>right)

{

return ;

}

i=left;

j=right;

//基数

bValue=array[left];

while (i!=j) {

//先从右侧--移动,右侧放置大于基数的元素

while (array[j]>=bValue&&i<j) {

j--;

}

//左侧++移动,左侧放置小于基数的元素

while(array[i]<=bValue&&i<j)

{

i++;

}

if(i<j)

{

tValue=array[i];

array[i]=array[j];

array[j]=tValue;

}

}

//当i和j移动到相同位置时,交换基数

array[left]=array[i];

array[i]=bValue;

//递归执行

sort(array,left,i-1);

sort(array,i+1,right);

}

public static void main(String[] args) {

int a[] ={6,1,2,7,9,3,4,5,10,8};

sort(a,0,a.length-1);

for(int v: a){

System.err.print(v+" ");

}

}

}

输出结果:

1 2 3 4 5 6 7 8 9 10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: