HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0105
窓口ソートマクロの動作確認をお願いします。2解決


窓口

リンク

2010/1/5(Tue) 18:14:00|NO.29785

配列変数をソートするマクロを作ったのですが、正規でない方法を使っているため、
動作確認をお願いしたいのです。

もしお暇でしたらよろしくお願いします。


;--------------------------------------- ;InsertSort array , int , int , int , sign , var , var , var , var , var , var ; %1 ソートする配列変数名 ; %2 ソートを開始するインデックス ; %3 ソートを終了するインデックス ; %4 配列変数の要素総数 ; %5 フラグ ( <=昇順 : >=降順 ) ;[以下内部使用変数初期値]省略可 ; %6 ise_bsize ; %7 ise_stok ; %8 ise_index1 ; %9 ise_index2 ; %10 ise_index2_p_int_size ; %11 ise_work #define global int_size 4 ; 32bit環境でのint型のサイズ。 #define global InsertSort(%1,%2,%3,%4,%5,%6=ise_bsize,%7=ise_stok,%8=ise_index1,%9=ise_index2,%10=ise_index2_p_int_size,%11=ise_work) :\ %6 = (%4)*int_size :\ repeat (%3)-(%2),(%2)+1 : %7=cnt :\ repeat cnt-(%2),(%2) :\ if (%1(%7) %5 %1(cnt)) { :\ %8=%7*int_size : %9=cnt*int_size : %10=%9+int_size : %11 = %1(%7) :\ memcpy %1 , %1 , (%6-%8-int_size) , %8 , (%8+int_size) :\ memcpy %1 , %1 , (%6-%10) , (%10),%9 :\ %1(cnt)=%11 : break } \ loop :\ loop :\



この記事に返信する


窓口

リンク

2010/1/5(Tue) 18:21:14|NO.29786

使用例を載せておきます。


a=1,2,10,12,45,245,1245,9892,12394,11,234,55 max = length(a) InsertSort a , 0 , max-1 , max , < repeat max mes a(cnt) loop



窓口

リンク

2010/1/5(Tue) 20:09:06|NO.29787

すみません
有難うございます。
自己解決しました。



ONION software Copyright 1997-2021(c) All rights reserved.