Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
|
|
@ -0,0 +1,61 @@
|
|||
class
|
||||
BEAD_SORT
|
||||
feature
|
||||
bead_sort(ar: ARRAY[INTEGER]): ARRAY[INTEGER]
|
||||
local
|
||||
max, count, i, j, k: INTEGER
|
||||
sorted: ARRAY[INTEGER]
|
||||
do
|
||||
max:= max_item(ar)
|
||||
create sorted.make_filled(0,1, ar.count)
|
||||
from
|
||||
i:= 1
|
||||
until
|
||||
i> max
|
||||
loop
|
||||
count:= 0
|
||||
from
|
||||
k:= 1
|
||||
until
|
||||
k> ar.count
|
||||
loop
|
||||
if ar.item (k) >= i then
|
||||
count:= count+1
|
||||
end
|
||||
k:= k+1
|
||||
end
|
||||
from
|
||||
j:= 1
|
||||
until
|
||||
j>count
|
||||
loop
|
||||
sorted[j]:= i
|
||||
j:= j+1
|
||||
end
|
||||
i:= i+1
|
||||
end
|
||||
RESULT:= sorted
|
||||
end
|
||||
|
||||
feature{NONE}
|
||||
max_item(ar: ARRAY [INTEGER]):INTEGER
|
||||
require
|
||||
ar_not_void: ar/= Void
|
||||
local
|
||||
i, max: INTEGER
|
||||
do
|
||||
from
|
||||
i:=1
|
||||
until
|
||||
i > ar.count
|
||||
loop
|
||||
if ar.item(i) > max then
|
||||
max := ar.item(i)
|
||||
end
|
||||
i := i + 1
|
||||
end
|
||||
Result := max
|
||||
ensure
|
||||
result_is_set: Result /= Void
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
class
|
||||
APPLICATION
|
||||
inherit
|
||||
ARGUMENTS
|
||||
create
|
||||
make
|
||||
feature
|
||||
make
|
||||
do
|
||||
test:= <<1, 5, 99, 2, 95, 7, 7>>
|
||||
create beadsort
|
||||
io.put_string ("unsorted:"+"%N")
|
||||
across test as ar loop io.put_string(ar.item.out + "%T") end
|
||||
io.put_string ("%N"+"sorted:"+"%N")
|
||||
test:= beadsort.bead_sort (test)
|
||||
across test as ar loop io.put_string(ar.item.out + "%T") end
|
||||
end
|
||||
beadsort: BEAD_SORT
|
||||
test: ARRAY[INTEGER]
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue