Sorting algorithms/Quicksort: Difference between revisions
Content added Content deleted
Deadmarshal (talk | contribs) (Added Oberon-2) |
|||
Line 3,732: | Line 3,732: | ||
=={{header|EasyLang}}== |
=={{header|EasyLang}}== |
||
<syntaxhighlight lang="text"> |
<syntaxhighlight lang="text"> |
||
⚫ | |||
# |
|||
⚫ | |||
while left < right |
while left < right |
||
# partition |
|||
swap data[(left + right) / 2] data[left] |
|||
piv = d[left] |
|||
mid = left |
mid = left |
||
for i = left + 1 to right |
for i = left + 1 to right |
||
if |
if d[i] < piv |
||
mid += 1 |
mid += 1 |
||
swap |
swap d[i] d[mid] |
||
. |
. |
||
. |
. |
||
swap |
swap d[left] d[mid] |
||
# |
|||
⚫ | |||
if mid < (right + left) / 2 |
|||
⚫ | |||
left = mid + 1 |
|||
else |
|||
call qsort mid + 1 right d[] |
|||
right = mid - 1 |
|||
. |
|||
. |
. |
||
. |
. |
||
func sort . d[] . |
|||
# |
|||
call qsort |
call qsort 1 len d[] d[] |
||
. |
|||
⚫ | |||
d[] = [ 29 4 72 44 55 26 27 77 92 5 ] |
|||
call sort d[] |
|||
print d[] |
|||
⚫ | |||
=={{header|EchoLisp}}== |
=={{header|EchoLisp}}== |