Sorting algorithms/Insertion sort: Difference between revisions

m
→‎{{header|AppleScript}}: Minor relabelling.
m (→‎{{header|AppleScript}}: Minor relabelling.)
Line 487:
-- put back into the list until either it's superseded or the end of the sort is reached.
set highestSoFar to o's lst's item l
set currentValuerv to o's lst's item (l + 1)
if (highestSoFar > currentValuerv) then
set o's lst's item l to currentValuerv
else
set highestSoFar to currentValuerv
end if
-- Work through the rest of the range, rotating values back into the sorted group as necessary.
repeat with ij from (l + 2) to r
set currentValuerv to o's lst's item ij
if (highestSoFar > currentValuerv) then
repeat with ji from (ij - 2) to l by -1
set thisValuelv to o's lst's item ji
if (thisValuelv > currentValuerv) then
set o's lst's item (ji + 1) to thisValuelv
else
set ji to ji + 1
exit repeat
end if
end repeat
set o's lst's item ji to currentValuerv
else
set o's lst's item (ij - 1) to highestSoFar
set highestSoFar to currentValuerv
end if
end repeat
557

edits