ソート | しまの日記
今日は夕方、雨が降ったりやんだりしてたので、外を走りませんでした走る人

今のジムはトレッドミルの時間制限が60分だし、前みたいに30分で何kcalとか
あまり思わなくていいです。でも今日は、いつもより少し長めに走りました。
サウナにも行ってみました。昨日は、水風呂だけで、お湯のお風呂温泉に入るのを
忘れましたが、今日はどっちも入りました。

だいぶ前、プログラミングで、配列の並び替えは、バブルソートやクイックソートや
ヒープソートがあってなんとなく、ヒープソートがよいと思っていたことがありました。

最近はどうなんだろうと思って、ちょっと調べてみたら、ファイル(FileInfo)の配列を、
日付順に並べ替えるのなら、こんな感じのようです。

Array.Sort(Of FileInfo)(fiLog, AddressOf CompareFileLastWriteTime)

Private Shared Function CompareFileLastWriteTime(fiX As FileInfo, fiY As FileInfo)
  Return Date.Compare(fiX.LastWriteTime, fiY.LastWriteTime)
End Function

遅いらしいですが、すごい大きな配列のソートなんて滅多にないから、私はこれで
いいかなぁと思います。と書きながら、ヒープソートのロジックを見つけました。今度
もっと暇なとき汗に、どっちが早いか調べてみようっと。

で、1700件くらいのファイルの並び替えを、数回試してみたら、毎回5~18ミリ秒
ほどヒープソートのほうが速かったですひらめき電球

今回、フォルダ内ファイルで試したから、複数フォルダのファイルを配列に入れて
件数を多めにして、今度試してみようと思います。

ところで、昨日の、システム課長のメールですが、無視しちゃっていいのかなと
少し思っていましたが、今日、話題にならなかったから、そのまま、まぁ無視で
よさそうです。あせる先週末私が留守の間に、ちょっとどうかと思うメールを出されて
いましたが、結果としてそれを気にせずに、昨日、隣りの課の人と進めてしまい
ました。