public class QuickSort {
public static void sort(int[] a , int low , int high){
if(low >= high)
return ;
int j = partitiion(a, low, high);
sort(a, low, j - 1);
sort(a, j + 1 , high);
}
//切分函数
public static int partitiion(int [] a , int low , int high){
int temp = a[low];
while(low < high){
while(low < high && a[high] >= temp)
high--;
a[low] = a[high];
while(low < high && a[low] <= temp)
low++;
a[high] = a[low];
}
a[low] = temp;
return low;
}
//测试代码
public static void main(String[] args) {
int [] a = new int[15];
int j = 0;
for(j = 0 ; j < a.length; j++){
a[j] = new Random().nextInt(100);
System.out.println(a[j]+ "--");
}
QuickSort.sort(a, 0, a.length - 1);
for(j = 0 ; j < a.length; j++)
System.out.println(a[j]);
}
}
快速排序 java实现
最新推荐文章于 2024-07-17 10:35:12 发布