PC8000でシェルソートと2分木ソートのプログラムを持っていたのですが、捜しても見つからなくなりました。
そこで、VBのプログラムをもとに以下を作成したのですが、エラー出てしまいます。
「エラー:コマンドLETの実行で型の不一致が起きました。(24行,9桁)」
ちょっと手詰まり状態です。
おわかりでしたら、ご教示ください。
乱数を発生させてシェルソートで並べ替えるというものです。
dim Lis(1100)
randomize
for i=0 to 999
b=int(rnd(1)*1000+1)
print using "######";b;
lis(i)=b
next
print
print
print"---------------------------------------"
print
print
Total=1000
hajime=Timer
rem VBのプログラムをもってきました。
Offset = Total / 2
Do While Offset > 0
Limit = Total - Offset
Do
Switch = False
For Loop1 = 0 To Limit
If Lis(Loop1) > Lis(Loop1 + Offset) Then
Tmp = Lis(Loop1)
Lis(Loop1) = Lis(Loop1 + Offset)
Lis(Loop1 + Offset) = Tmp
Switch = True
Limit = Loop1 - Offset
End If
Next Loop1
Loop While Switch
Offset = Offset / 2
Loop
for i=1 to 1000
print using"######";lis(i);
next
print
print
owari = Timer
Print Round(owari-hajime,2);"秒"
tiny basicでプログラムがありましたら教えていただけないでしょうか。
よろしくお願いいたします。