2

重複の可能性:
ベクトルに格納されている値の中央値を計算します-C ++?

値のコレクションを保存してから、その中央値を計算する機能が必要です。

これらの値を格納するためのC++の最適なコンテナーは何ですか?また、中央値を見つけるにはどうすればよいですか?

(特定の要素を削除できるようにしたい場合もあるので、セットは最良のオプションではないかもしれないと思います...)

4

1 に答える 1

6

他の特定の要件がない限り、デフォルトで。を使用する必要がありますstd::vector。後でアイテムを削除したいとおっしゃっています。これは、std::list代わりに検討することをお勧めします。

中央値を見つけるには、を使用して、 -th(または-th)要素を中心std::nth_elementにピボットするように要求できます。これはO(N)時間で実行されます。N/2(N-1)/2

于 2011-05-19T13:42:35.310 に答える