1. 首页
  2. 编程语言
  3. 其他
  4. 堆排序算法的C++实现O(N*logN)

堆排序算法的C++实现O(N*logN)

上传者: 2019-07-29 21:31:25上传 RAR文件 12.17KB 热度 82次
最近在学《算法导论》一书,先前已经发布了利用了GoF设计模式中的装饰模式将堆排序算法做成了util,并利用《大话设计模式》一书中所述的装饰模式写的堆排序,去除了Interface/基类,代码看上去更优雅。本次发布的这一版是未用设计模式重构之前的Heap排序算法,客户端调用sort()或是sortReversely(),比重构后的更加清晰直观,更加面向过程化,但是没有做到堆存储与堆排序算法的分离,而且两种排序函数没法重载,名称不同,可能加大使用该排序算法时switch/case的代码量。将书中原有的递归max-heapify算法用非递归方式写了出来,heap_test.cpp中是对堆排序的使用说明。本util的编码风格和文件组织风格比较好(作者曾在实践中
用户评论
码姐姐匿名网友 2019-07-29 21:31:25

可以用,谢谢

码姐姐匿名网友 2019-07-29 21:31:25

可以用的 不错

码姐姐匿名网友 2019-07-29 21:31:25

还可以,代码不错,谢谢分享了

码姐姐匿名网友 2019-07-29 21:31:25

代码太烦。。。好像没那么复杂。。。所以没仔细看