Algorytm w postaci pseudokodu:
Stała N = 10
Procedura Losuj(A):
Dla i od 0 do N-1:
A[i] = losowa liczba 0..99
Procedura Wypisz(A):
Dla i od 0 do N-1:
wypisz A[i] i spację
wypisz nową linię
Procedura QuickSort(A, p, k):
Dopóki p < k:
i = p
j = k
// losowy pivot z zakresu [p..k]
m = A[p + losowa_liczba % (k - p + 1)]
// podział tablicy
Dopóki i <= j:
Dopóki A[i] < m: i = i + 1
Dopóki A[j] > m: j = j - 1
Jeśli i <= j:
zamień A[i] z A[j]
i = i + 1
j = j - 1
// sortowanie mniejszej części rekursywnie (optymalizacja)
Jeśli (j - p) < (k - i):
QuickSort(A, p, j)
p = i
Inaczej:
QuickSort(A, i, k)
k = j
Program główny:
ustaw losowy generator
utwórz tablicę A[N]
Losuj(A)
Wypisz(A)
QuickSort(A, 0, N-1)
Wypisz(A)
Wioletta Wysopal
Nauczycielka informatyki
Tutaj pojawi się lista Twoich książek
Zaloguj się i zacznij tworzyć ją już teraz.

