This is an old revision of the document!
Burbulo rusiavimo algoritmas.
import random f = [] for i in range(30): f.append( random.randint(1, 100)) print (f) for i in range(30): for y in range(30-1): if f[y] > f[y+1]: tmp = f[y] f[y] = f[y+1] f[y+1] = tmp print (f)
Atsitiktiniu skaiciu masyvas.
[71, 25, 44, 23, 78, 41, 61, 44, 70, 42, 1, 76, 48, 55, 56, 40, 21, 68, 28, 91, 29, 64, 20, 23, 37, 69, 43, 19, 51, 25]
Didejimo tvarka surusiuotas masyvas.
[1, 19, 20, 21, 23, 23, 25, 25, 28, 29, 37, 40, 41, 42, 43, 44, 44, 48, 51, 55, 56, 61, 64, 68, 69, 70, 71, 76, 78, 91]
Naudosime skaičių masyvą „5 1 4 2 8“ ir jį surūšiuosime nuo mažiausio elemento iki didžiausio. Kiekviename žingsnyje paryškinti elementai yra palyginami.
Pirmas praėjimas: (5 1 4 2 8) → (1 5 4 2 8) Čia algoritmas palygina pirmus 2 elementus ir juos apkeičia vietomis. (1 5 4 2 8) → (1 4 5 2 8) (1 4 5 2 8) → (1 4 2 5 8) (1 4 2 5 8) → (1 4 2 5 8) Dabar elementai yra išdėstyti tinkama tvarka, todėl algoritmas jų neapkeičia vietomis.
Antras praėjimas: (1 4 2 5 8) → (1 4 2 5 8) (1 4 2 5 8) → (1 2 4 5 8) (1 2 4 5 8) → (1 2 4 5 8) (1 2 4 5 8) → (1 2 4 5 8) Dabar masyvo elementai išdėstyti tinkama tvarka, bet algoritmas to nežino. Algoritmui reikia vieno praėjimo be pakeitimų, kad žinotų jog elementai reikiama tvarka.
Trečias praėjimas: (1 2 4 5 8) → (1 2 4 5 8) (1 2 4 5 8) → (1 2 4 5 8) (1 2 4 5 8) → (1 2 4 5 8) (1 2 4 5 8) → (1 2 4 5 8) Galiausiai algoritmas baigė savo darbą.
