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

快速排序的一种java实现

2015-04-25 17:12 357 查看
首先上一张图:



然后写出如下java代码,请多多指正:

public class quickSort {

public static void main(String[] args) {
int[] a = new int[]{6,3,9,14,12,7,2};
mysort(a,0,a.length-1);
for(int i =0;i<a.length;i++)
System.out.println(a[i]);
}

public static void mysort(int[] a,int left,int right) {
int i = left;
int j = right;
int stand = a[left];
while(i<j&&left<=i&&right>=j){
if(a[i]>a[j]&&a[i]==stand){
myswap(a,i,j);
i++;
}
else if(a[i]>a[j]&&a[j]==stand){
myswap(a,i,j);
j++;
}
else if(a[i]==stand){
j--;
}
else if(a[j]==stand){
i++;
}
}
if(left<i-1)
mysort(a,left,i-1);
if(right>i+1)
mysort(a,i+1,right);
}

public static void myswap(int[] a,int i,int j) {
int temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;

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