//java快速排序的完整版
public class QSort {
public static void main(String[] args) {
quicksort qs = new quicksort();
int data[] = {44,22,2,32,54,23,88,77,99,11};
qs.data = data;
qs.sort(qs.data,0, qs.data.length-1);
qs.display();
}
}
class quicksort {
public int data[];
private int partition(int sortArray[],int low,int hight) {
int key = sortArray[low];
while(low<hight) {
while(low<hight && sortArray[hight]>=key)
hight--;
sortArray[low] = sortArray[hight];
while(low<hight && sortArray[low]<=key)
low++;
sortArray[hight] = sortArray[low];
}
sortArray[low] = key;
return low;
}
public void sort(int array[],int low,int hight) {
if(low<hight) {
int result = partition(data,low,hight);
sort(array,low,result-1);
sort(array,result+1,hight);
}
}
public void display(){
for(int i=0;i<data.length;i++) {
System.out.print(data[i]);
System.out.print(" ");
}
}
}
快速排序
最新推荐文章于 2024-06-05 15:38:12 发布