您的位置:首页 > 其它

快速排序

2015-07-27 22:24 393 查看
package sort;

import java.util.Scanner;

public class QuickSort {
public static int[] arr;
static{
System.out.println("Enter the array to sort, and use ',' as a separator:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
String n[]=s.split(",");
arr=new int[n.length];
System.out.println("Before sort:");
for(int i=0;i<arr.length;i++){
arr[i]=Integer.parseInt(n[i]);
System.out.print(arr[i]+" ");
}
}
public static void main(String args[]){
int m=arr.length-1;
quickSort(0,m);
System.out.println("Before sort:");
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
System.out.println();
}
public static void quickSort(int left,int right){
int i=left;
int j=right;
int pivot=arr[left];
int temp=0;
if(i<j){
do{
do{
if(arr[j]<pivot){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
break;
}
else
j--;
}while(j>i);
do{
if(arr[i]>pivot){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
break;
}
else
i++;
}while(i<j);
}while(i<j);
System.out.print("Current sorting:");
for(int k=0;k<arr.length;k++)
System.out.print(arr[k]+" ");
System.out.println();
if(j-1>left)
quickSort(left,j-1);
if(right>i+1)
quickSort(j+1,right);
}
}

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