Sorting algorithms/Quicksort: Difference between revisions
Content deleted Content added
Line 2,049: | Line 2,049: | ||
# |
# |
||
func qsort left right . . |
func qsort left right . . |
||
⚫ | |||
⚫ | |||
subr partition |
|||
swap data[(left + right) / 2] data[left] |
swap data[(left + right) / 2] data[left] |
||
mid = left |
mid = left |
||
Line 2,060: | Line 2,059: | ||
. |
. |
||
swap data[left] data[mid] |
swap data[left] data[mid] |
||
. |
|||
# |
|||
⚫ | |||
call partition |
|||
call qsort left mid - 1 |
call qsort left mid - 1 |
||
left = mid + 1 |
left = mid + 1 |
||
. |
. |
||
. |
. |
||
⚫ | |||
call qsort 0 len data[] - 1 |
call qsort 0 len data[] - 1 |
||
print data[]</lang> |
print data[]</lang> |