摘要: 上一篇分析了归并排序过程,本篇将堆排序完结,同时分析快速排序过程。通过build_max_heap,对给定的数据,建立一个最大堆结构,此时,堆排序任务已经完成了80%,建立好的最大堆,堆顶为最大元素,输出堆顶,然后将最后叶子切换到堆顶,重新建立最大堆,再次输出堆顶,依次重复建立最大堆过程,直至输出输出所有元素,最后形成的序列即为有序序列,降序序列。程序里紧紧对过程模拟,输出堆顶后,赋值为-1,而不删除元素,模拟最终的输出: int i = 0; stringstream iss; for (; i = key) { continue; ... 阅读全文
posted @ 2013-05-30 23:20 Crafet.36.77 阅读(208) 评论(0) 推荐(0)