algorytm.org

Implementacja w Python



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sortowanie szybkie (quicksort) - Implementacja w Python
Ocena użytkownikóww: *****  / 10
SłabyŚwietny
Nadesłany przez Bartosz Sypytkowski, 14 kwietnia 2012 23:05
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

quicksort.py:
#Sortowanie szybkie (quicksort)
#Bartosz Sypytkowski
#www.algorytm.org

import random

def qsort(array, left, right):
    i, j, piv = left, right, array[(left+right)/2]
    while i < j:
        while array[i] < piv: i += 1
        while array[j] > piv: j -= 1
        if i <= j:
            array[i], array[j] = array[j], array[i]
            i += 1
            j -= 1
        if left < j: qsort(array, left, j)
        if i < right: qsort(array, i, right)

array = [random.randint(0,1000) for r in xrange(30)]
print('Before: ' + ' '.join(['%s' % i for i in array]))

qsort(array, 0, len(array)-1)

print('After: ' + ' '.join(['%s' % i for i in array]))
Komentarze
photo
+1 # DamianB 2013-12-02 23:27
Dobrze byłoby umieszczać jedynie poprawnie działające wersje algorytmów, taka moja sugestia.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz