Bergervei/Python-Quicksort

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
== Zufallsliste ==

<code id="64dcd4dca25e5">
from random import *

def zufliste(max, anz):
    if anz == 0:
        return []
    else:
        return zufliste(max, anz - 1) + [randint(0, max)]
</code>

<run id="64dcd4dca2682">
print(zufliste(100, 20))
</run>

== Quicksort ==

<code id="64dcd4dca2633">
def zerlegen(el, ls):
    if len(ls) == 0:
        return [[], []]
    else:
        tls = zerlegen(el, ls[1:])
        if ls[0] < el:
            return [tls[0] + [ls[0]], tls[1]]
        else:
            return [tls[0], tls[1] + [ls[0]]]

def quicksort(ls):
    if len(ls) == 0:
        return []
    else:
        tls = zerlegen(ls[0], ls[1:])
        return quicksort(tls[0]) + [ls[0]] + quicksort(tls[1])

def main(max, anz):
    ls = zufliste(max, anz)
    print("Zufallsliste:")
    print(ls)
    print("geordnete Zufallsliste:")
    print(quicksort(ls))
</code>

<run id="64dc63bf3059f">
main(100, 20)
</run>