Sorting algorithms/Merge sort: Difference between revisions
→{{header|EasyLang}}
(Added Chipmunk Basic, Minimal BASIC and Quite BASIC) |
|||
Line 3,110:
<syntaxhighlight lang="text">
len tmp[] len d[]
sz = 1
while sz < len d[]
swap tmp[] d[]
left = 1
while left < len d[]
# merge
mid = left + sz - 1
if mid > len d[]
mid = len d[]
.▼
if right > len d[]▼
.▼
l = left▼
r = mid + 1▼
for i = left to right▼
if r > right or l <= mid and tmp[l] < tmp[r]▼
l += 1▼
else▼
r += 1
.▼
.▼
.
.▼
▲ if right > len d[]
▲ right = len d[]
▲ .
▲ l = left
▲ r = mid + 1
▲ for i = left to right
▲ if r > right or l <= mid and tmp[l] < tmp[r]
▲ d[i] = tmp[l]
▲ l += 1
▲ else
▲ d[i] = tmp[r]
▲ r += 1
▲ .
▲ .
▲ left += sz + sz
▲ .
▲ .
.
data[] = [ 29 4 72 44 55 26 27 77 92 5 ]
|