java数据结构学习笔记之优先队列

学着书上的写了一个优先队列,用堆实现。笔记一下

package com.zerob13.PriorityQueue; /* * * @author yanglingfeng */ public class PriorityQueue { private static final int def_size=10; private Comparable[] array; private int count; /* * 初始化函数 / public PriorityQueue(){ array=new Comparable[def_size]; count=0; } /* * 清理函数 / public void clear(){ for(int i=0;i0){ int parent=(curr-1)/2; if(val.compareTo(array[parent])>0) break; array[curr]=array[parent]; curr=parent; } array[curr]=val; } /* * 移除顶端元素 * @return 最小元素 / public Comparable remove(){ if(count==0) return null; Comparable min=array[0]; Comparable last=array[--count]; array[count]=null; int child,curr=0; while((child=2curr+1)