//更新操作
public void update(int index,E e){
if(index<data.length)
update(0,0,data.length-1,index,e);
else
throw new IllegalArgumentException("index erro");
}
//实现更新操作
private void update(int treeindex,int l,int r,int index,E e){
//停止条件直到 l==r
if(l==r){
tree[treeindex]=e;
return;
}
//递归
int mid = l+(r-l)/2;
int left = leftChild(treeindex);
int right = rigthChild(treeindex);
if(index<=mid) //左区间
update(left,l,mid,index,e);
else//右区间
update(right,mid+1,r,index,e);
//更新节点数据
tree[treeindex]=merger.merger(tree[left],tree[right]);
}
数据结构_线段树_更新操作
最新推荐文章于 2023-01-27 17:07:36 发布