hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
Sort/Insert - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

Sort

挿入ソート

実装例

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
// 入れるデータ数
dim rando,80
randomize
// 適当なデータを入れる
// rando=2,4,1,3,5,12,19,6,13,8,7,18,16,9,17,0,15,14,11,10
repeat length(rando)
    rando(cnt)  = rnd(length(rando))
loop
 
// ソート前のデータをコピーしておく
notesel buf2
repeat length(rando)
    noteadd "rando("+cnt+") = "+rando(cnt),-1
loop
 
// 挿入ソート
i=0
repeat length(rando)-1,1
    i=cnt
    postion=0
    // 1番目から見ていく
    tmp=rando(i)
    repeat i
        // tmpより小さいところを左側へ探す
        if rando(i-cnt-1)<tmp : postion=i-cnt : break
    loop
    // ずらしてpostionにtmpを代入
    repeat i-postion
        rando(i-cnt)=rando(i-cnt-1)
    loop
    rando(postion)=tmp
loop
 
// 整形
notesel buf
repeat length(rando)
    noteadd "rando("+cnt+") = "+rando(cnt),-1
loop
 
// データを表示する
title "挿入ソートの例"
    objmode 1
    sysfont 17
    pos   2, 4 : mes "ソート前"
    pos 312, 4 : mes "ソート後"
    pos   0,20 : mesbox buf2,300,300,0
    pos 310,20 : mesbox  buf,300,300,0
stop




URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2012-03-10 (土) 11:33:18 (638d)