CS146 编程项目 II:最小-最大堆实现
目标: 构建一个能够实现最小-最大堆(整数)的程序。
数据结构: 最小-最大堆
支持操作:
- 构建堆:
buildMinMaxHeap(int[] array)
- 根据给定的整数数组构建一个最小-最大堆。 - 获取最小值:
peekMin()
- 返回堆顶的最小值,不删除元素。 - 获取最大值:
peekMax()
- 返回堆顶的最大值,不删除元素。 - 删除最小值:
deleteMin()
- 删除并返回堆顶的最小值。 - 删除最大值:
deleteMax()
- 删除并返回堆顶的最大值。 - 插入元素:
insert(int element)
- 向堆中插入一个新的整数元素。 - 打印堆:
printMinMaxHeap()
- 逐层打印当前堆的结构,每层一行。
输入格式:
程序将接受一个包含操作命令的文件作为输入,每行一个命令。
示例输入:
buildMinMaxHeap : 1, 4, 2, 3, 7, 6, 10
peekMin
peekMax
insert 25
insert 107
printMinMaxHeap
该输入文件将指示程序执行以下操作:
- 使用给定的元素序列 (1, 4, 2, 3, 7, 6, 10) 构建一个最小-最大堆。
- 打印最小值。
- 打印最大值。
- 插入元素 25。
- 插入元素 107。
- 打印最终生成的堆,以每层一行的方式展示。
暂无评论