任何按最直观的方式去定位这个待修改的元素?
不是特别清楚斑竹的意思。
不是特别清楚斑竹的意思。
[此贴子已经被作者于2007-10-13 0:24:37编辑过]
[此贴子已经被作者于2007-10-13 0:24:37编辑过]
对于increase_key(5,7)这种,就直接在堆中找到5,替换成7就行,如果里面有多个5,找第一个替换然后就退出
对于increase_key(0,7)这种,那就把原数组备份一下,找到data[0]的值,再到堆里找第一个同样值的元素替换掉,或者把下表存为一个数组,元素每交换一次,下标也交换一次,这样就能根据原来的下表找到现在的下标了。总之就是用空间的花销来实现。