したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

180F橋:2005/02/14(月) 02:10:14
>>177
金額の項目の範囲がどのくらいなのか(マイナスがあるのか、最大でいくらくらいなのか、小数点があるのか)
が分かればさらに高速にする話が出来る。かも知れないです

多分ですが。50000件かつたくさんの項目を持つのならF-BASICでは少々厳しいはず・・・
(配列はメモリの許す限りと書いてありますが件数多いと(F-BASICでは)劇的に遅くなりますので)
別の何かにsortを任せるのが一番だと思います

先に話したF-BASICのsortサンプルがベストだとは思いますが
(私と同じで)dllの呼び出しはよく分からないからしたくない。って場合は
↓が一番簡単で効果が高いかと思います



open "sort.txt" for output as #1
for j&=1 to 50000
 nen$=right$( space$(3)+str$( SORTWORK1(J&, 2) ),3 )
 kin&=1000000&-val( SORTWORK1(J&, 6) ) '金額は0〜999999(6桁)の場合
 kin$=right$( space$(6)+str$( abs(kin$) ),6 )
 print #1, nen$+kin$+right$( space$(5)+str$(j%),5 )
next j&
close #1

shell "sort.exe","sort.txt > sort.out" ... 'shellの使い方忘れた。調べてください(笑
' OSによって標準で sort.exeがついているのを忘れてた。
' sort.exeの使い方はsort/?等で調べてみてください
' 上記の例はsort.exeの使い方を調べずに適当に書いてます
' この方法を使うのなら調べ直すのでご返答下さいです。
'
' 現状でどの方法を使いたいのかが分からないので詳細まで書くと長くなるので省略してます

open "sort.out" for input as #1
while not eof(1)
 line input #1, buf$
 code&=val( right$( sortkey$(j&),5 ) )
 for m=1 to 6
  print SORTWORK1(code&, 6)
 next m
wend

尚、私の知識内では上記の用に何らかの方法で検索用のキーを作り
それをsortする方法しか思いつかないです
キーを作らずに高速にソートをしたい場合が思いつきませんのでご了承下さいです。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板