七種基本排序(2) 快速排序

2021-09-26 15:38:21 字數 1013 閱讀 5360

快速排序思想就是找到乙個基準值,然後讓比它小的在它前面,比它大的在它後面

然後用遞迴思想解決比它小的一部分和比它大的一部分區間

partiton作用:分割

index:記錄基準值的下標位置

public static void quicksort(int array) 

public static void innerquicksort(int array,int left,int right)

核心:從左邊數起較大的元素與從右起較小的元素進行交換

資料結構書上最常用的方法,雖然時間複雜度不會改變,但是相對比起其他幾種方法來說花時間較少

for迴圈找到相對小的元素,另乙個指標red

第四種方法【相同元素歸併至中間】

不做具體介紹返回值以陣列形式放回

private static int partition(int array, int left, int right) 

wrap(array,p,q);

} wrap(array,p,right);

return p;

}private static int partition2(int array,int left,int right)

array[p]=array[q];

} if(p==q)

array[p]=pivot;

return p;

}public static int partition3(int array,int left,int right)

} wrap(array,red,right);

return red;

}

public static void main(string args) ;

quicksort(array);

system.out.println(arrays.tostring(array));

}

七種基本排序

排序 所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排 列起來的操作。穩定性 假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這 些記錄的相對次 序保持不變,即在原序列中,r i r j 且r i 在r j 之前,而在排序後的序列中,r i 仍在r j...

七種排序方法

一 快速排序 1.簡單介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的...

七種排序方法

一 快速排序 1.簡單介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的...