chen-w
7/14/2017 - 10:36 PM

queue operations

queue operations

// create a queue
Queue<TreeNode> queue = new LinkedList<TreeNode>(); 
// add elemtn to queue
q.add(E e) or q.offer(E e)
// retrieve head of queue without removing it, exception if empty
q.element()
// retrieve but not remove head of queue, return null if queue is empty
q.peek()
// insert element
q.offer(E e)
// retrieve and remove head of queue or return null if empty
q.poll()
// retrieve and remove head of the queue
q.remove()
// check queue empty
q.isEmpty()

// note
// heap.add() and heap.offer() are identical in priority queue
// however, in a queue
// heap.add() always return true but throw exception if queue is full
// heap.off() can return false if queue if full