代码已经编译成功,大家放心看
import java.util.Arrays;
import java.util.Random;
public class quickSort {
public static void main(String[] args) {
int[] arr={5,4,3,2};
partition(arr,0,3);
System.out.println(Arrays.toString(arr));
}
public static int partition(int[] array, int start, int end){
Random random = new Random();
//生成[start, end]之间的随机数
int index = random.nextInt(end)%(end - start + 1) + start;
swap(array, index, end);
int quick = start, slow = start;
while(quick < end){
if(array[quick] <= array[end]){
if(quick != slow){
swap(array, quick, slow);
}
quick++;
slow++;
}else{
quick++;
}
}
swap(array, slow, end);
return slow;
}
public static void swap(int [] array, int indexa, int indexb){
int temp = array[indexa];
array[indexa] = array[indexb];
array[indexb] = temp;
}
}