public int deleteMax() {
		if(isEmpty()) return Integer.MAX_VALUE;
		int max = max();
		int index;
		if (currentSize == 1) index = 1;
		else {
			index = 2;
			int maxValue = arr[2];
			if(currentSize > 2 && maxValue < arr[3]) {
				maxValue = arr[3];
				index = 3;
			}
		}
		arr[index] = arr[currentSize--];
		trickleDownMax(index);
		return max;
	}