public void removeMax() {
		if(count == 1) {
			queue[1] = null;
			return;
		}
		
		queue[1] = queue[count -1];
		queue[count -1] = null;
		count--;
		int index = 1;
	
		while((index*2 < count) && (queue[index].compareTo(queue[index*2]) < 0 || queue[index].compareTo(queue[index*2+1]) < 0)) {
			
			if(queue[index*2] != null && queue[index*2+1] != null) {
				int swapIndex = queue[index*2].compareTo(queue[index*2+1]) > 0 ? index*2 : (index*2)+1;
				T temp = queue[index];
				queue[index] = queue[swapIndex];
				queue[swapIndex] = temp;
				index = swapIndex;
			}
		}
	
	}