Sorting algorithms/Quicksort: Difference between revisions
Content added Content deleted
m (→{{header|E}}) |
|||
Line 2,044: | Line 2,044: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Easyprog.online}}== |
|||
<lang easyprog.online>data[] = [ 29 4 72 44 55 26 27 77 92 5 ] |
|||
# |
|||
func qsort left right . . |
|||
# |
|||
subr partition |
|||
swap data[(left + right) / 2] data[left] |
|||
mid = left |
|||
for i = left + 1 to right |
|||
if data[i] < data[left] |
|||
mid += 1 |
|||
swap data[i] data[mid] |
|||
. |
|||
. |
|||
swap data[left] data[mid] |
|||
. |
|||
# |
|||
while left < right |
|||
call partition |
|||
call qsort left mid - 1 |
|||
left = mid + 1 |
|||
. |
|||
. |
|||
call qsort 0 len data[] - 1 |
|||
print data[]</lang> |
|||
=={{header|EchoLisp}}== |
=={{header|EchoLisp}}== |