设为首页 加入收藏

TOP

libevent中最小堆实现算法解析(三)
2018-10-21 18:10:51 】 浏览:366
Tags:libevent 最小 实现 算法 解析
d - 1])); 181 //如果e元素不大于最小的孩子元素,没有必要再继续,hole_index就是他的位置 182 if(!(min_heap_elem_greater(e, s->p[min_child]))) 183 break; 184 //将小的孩子元素放到hole_index位置上 185 (s->p[hole_index] = s->p[min_child])->min_heap_idx = hole_index; 186 //hole_index保存当前小的孩子索引 187 hole_index = min_child; 188 //当前小的孩子位置空出,继续下一次循环,比较当前小的孩子的左右孩子 189 min_child = 2 * (hole_index + 1); 190 } 191 //将e元素放到hole_index,然后向上调整。一般e元素是取最下层最右节点。不排除有可能比现在的位置上的父节点下 192 //所以需要向上调整 193 min_heap_shift_up_(s, hole_index, e); 194 } 195 196 #endif /* _MIN_HEAP_H_ */

 

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇void类型和void* 的用法 下一篇用Arduino制作一个二维码显示器

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目