poniedziałek, 17 lutego 2014

Quicksort w PowerShell

W trakcie nauki algorytmów napisałem alg. quick sort w PS. Średnio jestem z niego zadowolony, ale za pomocą PS widać jak z małą ilością kodu można zaimplementować ten algorytm.

function QuickSort-Object
{
    param([array] $arr)
    $Count = $arr.Count
    if($Count  -le 1 -OR (($arr |  select –unique).count -eq 1))
    {
        return $arr
    }

    $pivot = $arr[$Count/2]

    return [array](sort-object ($arr | ? {$_ -lt  $pivot})) +  
      (sort-object ($arr  | ? {$_ -eq  $pivot})) +
      (sort-object ($arr | ? {$_ -gt  $pivot}))
}

Jeszcze raz chciałbym przedstawić filmik, który świetnie przedstawia algorytm sortowania. Co prawda początek filmiku mnie troszkę zdezorientował, ale reszta jest taka sama :)


Brak komentarzy:

Prześlij komentarz