1

私はintsv1、v2、v3、...v10のstd::vectorsを持っています。それぞれに数十万の要素があります。各ベクトルは異なる因子でソートされます(したがって、10個の因子関数f1、f2、... f10があります)。したがって、それらはそれ自体でソートされますが、相互に関連してソートされていません。

これらの10個のベクトルの交点を見つけたいので、出力を要因の1つに従ってソートしたいと思います。たとえば、結果はf1に従ってソートする必要があります。したがって、これらの10個のベクトルをfactor関数とともにその交差ソート関数に渡すと、f1に従ってソートされた、すべてのベクトルに存在する要素のみを含む出力ベクトルが得られます。この操作を行うための最良の方法は何ですか?

4

1 に答える 1

0

ほんのstd::set_intersection()数時間を使用してください。結果を保存するには、2つの一時的なベクトルを交互に使用する必要があると思います。各ベクトルのパスを1つだけ使用して実行する場合は、その一般化されたバージョンを使用して、現在の最小値の優先キューを保持することができます。

于 2012-12-23T18:40:33.823 に答える