四分木で最も近い N ポイントを検索しようとしており、STL プライオリティ キューを使用して、見つかったポイントを保存します (クエリ ポイントからの距離でソートされます)。
クエリ ポイントからの最大距離を超えるポイントがキューに追加されることはありません。ただし、検索で返されるアイテムの数も減らしたいと思います。現在、最大距離よりもクエリ ポイントに近いすべてのポイントを追加し、キューから上位 N ポイントのみを読み取ります。
テストでは、これは遅すぎます。最大距離よりも近くにすべてのポイントを追加するだけでは、ポイントが追加されるにつれて速度が低下します。代わりに、現在キューにあるポイントが N よりも少ない場合、または問題のポイントがキューの N 番目のポイントよりもクエリ ポイントに近い場合にのみ、キューにポイントを追加したいと思います。オーバーライドされ、キュー内の要素の数は増えません。
STL優先キューでこれを行う方法はありますか、それとも自分で書く唯一のオプションですか?