- Bila elemen dalam array kurang dari jumlah tertentu (biasanya 2), proses selesai.
- Ambil sebuah elemen yang berfungsi sebagai poros.
- Pisahkan array dalam 2 bagian, sebelah kiri lebih kecil dari poros, sebelah kanan lebih besar dari poros.
- Ulangi proses secara rekursif pada tiap-tiap bagian.
Contoh Quick sort dalam gambar
Contoh Pseudocode Quick Sort
Quicksort(A as array, low as int, high as int)
if (low < high)
pivot_location = Partition(A,low,high)
Quicksort(A,low, pivot_location - 1)
Quicksort(A, pivot_location + 1, high)
Partition(A as array, low as int, high as int)
pivot = A[low]
leftwall = low
for i = low + 1 to high
if (A[i] < pivot) then
leftwall = leftwall + 1
swap(A[i], A[leftwall])
swap(A[low],A[leftwall])
return (leftwall)
Program selengkapnya ada disini (menggunakan Java)Sumber
0 comments:
Post a Comment