我試圖在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