\begin{algorithm}
\caption{Max Heap Delete}
\begin{algorithmic}
\STATE \COMMENT{a lazier and slower version}
\PROCEDURE{MaxHeapDelete}{$A, i$}
\STATE \CALL{HeapIncreaseKey}{$A, i, \infty$}
\STATE \CALL{HeapExtractMax}{$A$}
\ENDPROCEDURE
\STATE
\STATE \COMMENT{a faster but more complex version}
\PROCEDURE{MaxHeapDelete}{$A, i$}
\IF{$A[i] > A[A.\text{heap-size}]$}
\STATE $A[i] = A[A.\text{heap-size}]$
\STATE \CALL{MaxHeapify}{$A, i$}
\ELSE
\STATE \CALL{HeapIncreaseKey}{$A, i, A[A.\text{heap-size}]$}
\ENDIF
\STATE $A.\text{heap-size} = A.\text{heap-size} - 1$
\ENDPROCEDURE
\end{algorithmic}
\end{algorithm}