Sorting algorithms/Merge sort: Difference between revisions

m
m (→‎Dart: Re-add deleted header and language tags.)
Line 1,529:
sort(list.run(split)))
}</lang>
=={{header|Easyprog.online}}==
 
<lang easyprog.online>subr merge
mid = left + sz
if mid > sz_data
mid = sz_data
.
right = mid + sz
if right > sz_data
right = sz_data
.
l = left
r = mid
for i = left to right - 1
if r = right or l < mid and tmp[l] < tmp[r]
data[i] = tmp[l]
l += 1
else
data[i] = tmp[r]
r += 1
.
.
.
subr sort
sz_data = len data[]
len tmp[] sz_data
sz = 1
while sz < sz_data
swap tmp[] data[]
left = 0
while left < sz_data
call merge
left += sz + sz
.
sz += sz
.
.
data[] = [ 29 4 72 44 55 26 27 77 92 5 ]
call sort
print data[]</lang>
 
=={{header|Eiffel}}==
2,046

edits