Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
|||
export sub shell_sort(x())
|
||||
// Shell sort based on insertion sort
|
||||
|
||||
local gap, i, j, first, last, tempi, tempj
|
||||
|
||||
last = arraysize(x(),1)
|
||||
gap = int(last / 10) + 1
|
||||
while(TRUE)
|
||||
first = gap + 1
|
||||
for i = first to last
|
||||
tempi = x(i)
|
||||
j = i - gap
|
||||
while(TRUE)
|
||||
tempj = x(j)
|
||||
if tempi >= tempj then
|
||||
j = j + gap
|
||||
break
|
||||
end if
|
||||
x(j+gap) = tempj
|
||||
if j <= gap then
|
||||
break
|
||||
end if
|
||||
j = j - gap
|
||||
wend
|
||||
x(j) = tempi
|
||||
next i
|
||||
if gap = 1 then
|
||||
return
|
||||
else
|
||||
gap = int(gap / 3.5) + 1
|
||||
end if
|
||||
wend
|
||||
end sub
|
||||
|
||||
if peek$("library") = "main" then
|
||||
|
||||
clear screen
|
||||
|
||||
ITEMS = 100
|
||||
dim numeros(ITEMS)
|
||||
|
||||
for n = 1 to ITEMS
|
||||
numeros(n) = ran(ITEMS + 1)
|
||||
next n
|
||||
|
||||
print time$
|
||||
shell_sort(numeros())
|
||||
print time$
|
||||
print "Press a key to see ordered numbers."
|
||||
inkey$
|
||||
|
||||
for n = 1 to ITEMS
|
||||
print numeros(n),", ";
|
||||
next n
|
||||
|
||||
end if
|
||||
Loading…
Add table
Add a link
Reference in a new issue