重複の可能性:
ベクトルに格納されている値の中央値を計算します-C ++?
値のコレクションを保存してから、その中央値を計算する機能が必要です。
これらの値を格納するためのC++の最適なコンテナーは何ですか?また、中央値を見つけるにはどうすればよいですか?
(特定の要素を削除できるようにしたい場合もあるので、セットは最良のオプションではないかもしれないと思います...)
重複の可能性:
ベクトルに格納されている値の中央値を計算します-C ++?
値のコレクションを保存してから、その中央値を計算する機能が必要です。
これらの値を格納するためのC++の最適なコンテナーは何ですか?また、中央値を見つけるにはどうすればよいですか?
(特定の要素を削除できるようにしたい場合もあるので、セットは最良のオプションではないかもしれないと思います...)
他の特定の要件がない限り、デフォルトで。を使用する必要がありますstd::vector
。後でアイテムを削除したいとおっしゃっています。これは、std::list
代わりに検討することをお勧めします。
中央値を見つけるには、を使用して、 -th(または-th)要素を中心std::nth_element
にピボットするように要求できます。これはO(N)時間で実行されます。N/2
(N-1)/2