[WinAPI]リストビューでコールバック関数を用いてアイテムのソートを行った場合(ListView_SortItems/LVM_SORTITEMS)に、

処理を実行する前にコールバック関数が呼ばれる回数を知る方法がありますか?
回数の値については概数でも構いません。
なお、MFC等は使わず、SDKのみで行える方法を希望しますが、それらを利用した方法についての回答にもポイントを差し上げます。

回答の条件
  • 1人2回まで
  • 登録:2006/09/11 22:59:03
  • 終了:2006/09/13 22:19:50

回答(2件)

id:talepanda No.1

talepanda回答回数57ベストアンサー獲得回数122006/09/11 23:58:39

ポイント35pt

MFCもSDKも使う必要はなくて、平均すると、アイテム数をnとして O(n log(n))だと思いますよ。

ソートするまで正確な比較回数はわからないので、それを知るためのAPIはないおそらくないでしょう。

id:ratbeta

ありがとうございます。

2006/09/13 22:18:57
id:kazu1107 No.2

kazu1107回答回数199ベストアンサー獲得回数142006/09/11 23:59:58

ポイント35pt

勘で申し訳ないのですが、先にソートをシミュレーションするなどしない限り無理じゃないでしょうか?

ソートという処理の性質上、比較&並び替えという処理は一定の条件を満たすまで繰り返し・・・ということになります。

たぶんソート方法はクイックソートなのでその要素数だと最大何回呼ばれるかぐらいはすぐに計算できると思いますが、厳密に何回かを計算するには実際にソートして数えるしかないかと思います。

id:ratbeta

ありがとうございます。

2006/09/13 22:19:04

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません