質問のタイトルについてはわかりませんでしたが、ここに問題があります。
私は構造体の配列を持っています。今度はそれを参照によって関数に渡します。その中には、同じ構造体の優先キューがあります。
ここで、優先度キューを使用して配列を処理します。プロセスの最後に、構造体の 2 つの属性 (たとえばA
とB
) が配列に変更されますが、変更の 1 つだけが必要です。 ( ) は関数の外側に反映され、配列を渡す前のように、 other( ) の変更を復元しA
たいと考えています。B
同じ配列を処理する必要があるが、パラメーターが異なる2回目は、Aの変更を残したいが、Bの変更を残したいので、私はそれをしなければなりません。
私が今行っていることは、プロセスの後、関数の外に出たら、配列全体を処理し、属性の値が変更された場所はいつでもB
初期値に戻すことです。これは明らかに O(n2) 操作であり、私には適していません。
効率化するために何かできることはありますか?
私はCで働いています。