java 快速排序代码:
import java.util.*;
/**
* @version 1.0 2016-10-20
* @author zhouxiaowu
*
*/
public class QuickSort {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("please input some numbers");
String str = sc.nextLine();
String[] s = str.split("\\s+");
int[] num = new int[s.length];
for(int i=0;i<num.length;i++)
num[i]=Integer.parseInt(s[i]);
Qsort(num,0,num.length-1);
for(int i:num)
System.out.print(i+" ");
}
public static void Qsort(int[] num,int low,int high){
if(low<high){
int part=partition(num,low,high);
if(low<part-1) Qsort(num,low,part-1);
if(part+1<high) Qsort(num,part+1,high);
}
}
public static int partition(int[] num,int p,int q){
int s=p,low=p,high=q;
int temp = num[s];
while(low<high){
while(low<high&&temp<=num[high])
high--;
if(low<high)
num[low++]=num[high];
while(low<high&&temp>=num[low])
low++;
if(low<high)
num[high--]=num[low];
}
num[low]=temp;
return low;
}
}
测试结果:
input:9 6 7 3 5
output:3 5 6 7 9