Apr 11
Наскоро почнах пак да разцъквам python. Доста интересен и чист език.
Та за играчка реших да напиша малка quicksort функция за сортиране на месив. Знам, че има вградено сортиране и че ще е с пъти по-бързо но…
Това можах да се сетя(сигурен съм че някой с повече опит ще го напише с доста по-добре).
def quicksort(inlist): less, equal, greater = [],[],[] if len(inlist) <= 1: return inlist pivot = inlist[-1] for i in inlist: if i < pivot: less.append(i) elif i > pivot: greater.append(i) elif i == pivot: equal.append(i) ret = quicksort(less) ret.extend(equal) ret.extend(quicksort(greater)) return ret
После реших да видя как ще изглежда това написано на php:
function qsort($array){
$less = $equal = $greater = array();
if (count($array) <= 1)
return $array;
$pivot = current($array);
foreach($array as $element)
if ($element < $pivot)
$less[] = $element;
else if ($elemnt > $pivot)
$greater[] = $element;
else if ($element == $pivot)
$equal[] = $element;
return array_merge(qsort($less), $equal, qsort($greater));
}
Както се вижда няма голяма разлика между двете функции.

