Sorting algorithms/Shell sort: Difference between revisions

Content added Content deleted
mNo edit summary
No edit summary
Line 2,029: Line 2,029:
=={{header|Ring}}==
=={{header|Ring}}==
<lang ring>
<lang ring>
aList = [-12, 3, 0, 4, 7, 4, 8, -5, 9]
siz = 100
shellSort(aList)
a = list(siz)
for i = 1 to siz
for i=1 to len(aList)
a[i] = floor(random(100))
see "" + aList[i] + " "
see a[i] + nl
next
next
func shellSort a
incr = floor(siz / 2)
inc = ceil( len(a) / 2 )
while incr > 0
for i = 1 to siz
while inc > 0
j = i
for i = inc to len(a)
temp = a[i]
tmp = a[i]
while (j >= incr and fabs(j-incr) > 0 and a[fabs(j-incr)] > temp)
j = i
a[j] = a[j-incr]
while j > inc and a[j-inc] > tmp
j = j - incr
a[j] = a[j-inc]
end
j = j - inc
a[j] = temp
end
next
a[j] = tmp
incr = floor(incr / 2.2)
next
inc = floor( 0.5 + inc / 2.2 )
end
end

for i = 1 to siz
return a
see a[i] + nl
next
</lang>
</lang>