MCPcopy Create free account
hub / github.com/QMHTMY/RustBook / move_up

Method move_up

publication/code/chapter08/binary_heap.rs:108–122  ·  view source on GitHub ↗

小数据上冒 c(child), p(parent)

(&mut self, mut c: usize)

Source from the content-addressed store, hash-verified

106
107 // 小数据上冒 c(child), p(parent)
108 fn move_up(&mut self, mut c: usize) {
109 loop {
110 // 计算当前节点的父节点位置
111 let p = parent!(c);
112 if p <= 0 { break; }
113
114 // 当前节点数据小于父节点数据,交换
115 if self.data[c] < self.data[p] {
116 self.data.swap(c, p);
117 }
118
119 // 父节点成为当前节点
120 c = p;
121 }
122 }
123
124 // 大数据下沉 l(left), r(right)
125 fn move_down(&mut self, mut c: usize) {

Callers 1

pushMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected