喫茶XRAYトップページ

[スレッド全体
]

[7287] Re3:StringList ソートの速さ比べ返信 削除
2014/3/1 (土) 11:30:35 taki
えっ!
 
> for int_i := 0 to str_St1.Count - 1 do
>   str_St1.Strings[int_i] := str_St1.Strings[int_i] +
>    #1 + Format('%.10d',[int_i]);
> ではKeyとなるデータの後に#1とIndexをくっつけて記憶して…
>


 #1 + Format('%.10d',[int_i]) の部分の役割が…


[7292] Re4:StringList ソートの速さ比べ返信 削除
2014/3/2 (日) 21:41:15 たてぐや
▼ takiさん

 最初に謝ってしまいます。これは私が書いたコードではありません。7年くら
い前に必要生じて、Webで見つけたコードです。ですので、私も読み解いてはい
ません。実際に使ってみたら、思い通りの動作をしてくれるし、汎用性がある
ので、よく使う手続きや関数をまとめたMylib.pasにインプリメントしています。

[7293] Re4:StringList ソートの速さ比べ返信 削除
2014/3/3 (月) 08:27:34 TS
▼ takiさん

良く見ていませんが
>#1 + Format('%.10d',[int_i]) の部分の役割が…
これで同じデータが続いた場合、そのデータ分の元の行の順番は
保たれると思います。

[7294] Re5:StringList ソートの速さ比べ返信 削除
2014/3/3 (月) 16:15:29 taki
▼ TSさん

> これで同じデータが続いた場合、そのデータ分の元の行の順番は
> 保たれると思います。


了解です。

[7295] Re6:StringList ソートの速さ比べ返信 削除
2014/3/3 (月) 16:22:48 TS
▼ takiさん

ちなみに私はDelFusaさんのサイトのNifty の FDELPHI のサンプル蔵アーカイブ
内の下記を使わせてもらっています。

StringGridの並べ替え(2重)
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/samples/00092.html


[7297] Re7:StringList ソートの速さ比べ返信 削除
2014/3/3 (月) 18:25:02 Mr.XRAY
こんなのもありますね.
データ量にもよりますが,バブルソートが早いのかな ?

[StringGrid でソートをしたい(1)]
http://hp.vector.co.jp/authors/VA015850/delphi/tips/grid05.html

[StringGrid でソートをしたい(2)]
http://hp.vector.co.jp/authors/VA015850/delphi/tips/grid06.html

[StringGrid でソートをしたい(3)]
http://hp.vector.co.jp/authors/VA015850/delphi/tips/grid07.html

ソートはまだ研究がおこなわれている分野のようです.
数年前に,新しいアルゴリズムの発表が,数学関係の分野であったようです.


[7299] Re8:StringList ソートの速さ比べ返信 削除
2014/3/4 (火) 10:22:10 おかぽん
▼ Mr.XRAYさん

> [StringGrid でソートをしたい(2)]
> http://hp.vector.co.jp/authors/VA015850/delphi/tips/grid06.html


> QuickSort は不安定なソートなので問題がある
との記載がありますけど、

> [StringGrid でソートをしたい(3)]
> http://hp.vector.co.jp/authors/VA015850/delphi/tips/grid07.html


>あ、関数ってポインタで引き渡せるんですよ(笑)
>知らなかった人、そういうものなんです(苦笑)

それなら、「複数列で比較できる関数」をポインタで渡すという解決方法を提示すれば、
QuickSortでもいいんじゃなかと思ったり、思わなかったり。

といいながら、「StringGrid でソートをしたい」の記事を参考にしたという
高速化されたソートの記事をコピペ
[高速マージソート]
http://drang.s4.xrea.com/program/tips/list/sort_mergesort.html


高速化の方法を考えるのが楽しかった時代は、もはや過去の事。
今は、イカに楽して実現するかのほうが主体で、速度はなんて二の次になってます。
PCのスペックも向上したので、それほど気にしなくていいんですよ(たぶん)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82