(self, node, val, new_val)
| 135 | self.show_message("再来看看如何更新线段树") |
| 136 | |
| 137 | def find_element(self, node, val, new_val): |
| 138 | if node.l==node.r and node.v == val: |
| 139 | n = self.tree.get_node(node.id) |
| 140 | self.play(n.set_color, RED) |
| 141 | self.show_message("修改元素") |
| 142 | n.set_text(str(new_val)) |
| 143 | n.v = new_val |
| 144 | return |
| 145 | self.find_element(node.l, val, new_val) |
| 146 | self.find_element(node.r, val, new_val) |
| 147 | node.v = node.l.v + node.r.v |
| 148 | n = self.tree.get_node(node.id) |
| 149 | n.set_text(str(node.v)) |
| 150 | self.show_message("更新节点") |
| 151 | self.play(FocusOn(n)) |
| 152 | |
| 153 | def construct(self): |
| 154 | self.start_logo(animate=False) |
nothing calls this directly
no test coverage detected