Java 学习+面试指南:https://javaxiaobear.cn
1、API设计
类名 | MaxPriorityQueue |
构造方法 | MaxPriorityQueue(int capacity):创建容量为capacity的MaxPriorityQueue对象 |
成员方法 | private boolean less(int i,int j):判断堆中索引i处的元素是否小于索引j处的元素 private void each(int i,int j):交换堆中i索引和j索引处的值 public T delMax():删除队列中最大的元素,并返回这个最大元素 public void insert(T t):往队列中插入一个元素 private void swim(int k):使用上浮算法,使索引k处的元素能在堆中处于一个正确的位置 private void sink(int k):使用下沉算法,使索引k处的元素能在堆中处于一个正确的位置 public int size():获取队列中元素的个数 public boolean isEmpty():判断队列是否为空 |
成员变量 | private T items:用来存储元素的数组 private int N:记录堆中元素的个数 |
2、代码实现
- 测试类
输出结果