我试图在YouTube上观看此视频后编写快速排版实现。 https://www.youtube.com/watch?v=MZaf_9IZCrc&t=215s但它不起作用。有人能告诉我我做错了什么吗?谢谢 Ferda快速排序实施尝试
public class Trial{
public static void main(String []args){
int arr[] = {7, 3, 4, 2, 6, 1, 5};
quickSort(arr, 0, 6);
}
public static void quickSort(int[] arrInput, int start, int end){
int arr[] = new int[end-start+1];
for(int i=start, j=0; i<end; i++, j++){
arr[j]=arrInput[i];
}
int size = arr.length;
int pivotValue = arr[size-1];
for (int i=-1; i<arr.length; i++){
for(int j=0; j<arr.length; j++){
if(arr[j]< pivotValue){
int temp = arr[j];
i++;
arr[j] = arr[i];
arr[i] = temp;
}
for(int p = i; p< size-2; p++){
arr[p+1] = arr[p];
}
arr[i] = pivotValue;
quickSort(arr, 0, i);
quickSort(arr, i+1, size-1);
}
}
}
}
快速排序算法是由三个部分组成,一部分叫做分区和thow其他部分,他们是两个两个递归调用分区数组的一部分 – thepaulo
你看到关于分区数组 – thepaulo