我不确定问题的标题,但这就是问题所在。
我有一个结构数组,现在我通过引用一个函数来传递它,其中我有一个相同结构的优先级队列。
现在,我通过使用优先级队列来处理我的数组,并且在处理结束时,我将在数组中更改我的结构的两个属性(比如A
和B
),而我只想要一个更改( A
) 反映在函数外部,并且我希望将 other( B
) 更改恢复为传递数组之前的方式。我必须这样做,因为当我第二次必须处理相同的数组但使用不同的参数时,我希望 A 的变化保持不变,但 B 不保持不变。
我现在要做的是,在处理之后,一旦我退出函数,我会处理整个数组,并且无论何时我更改了属性的值,B
我都会将其恢复为初始值。现在这显然是一个对我没有好处的 O(n2) 操作。
我可以做些什么来提高效率吗?
我正在和 C 一起工作。