\begin{minipage}[t]{8in}
\begin{tabular}{ll}
SortedArray$<$Item$>$\&  & operator=\index{SortedArray!operator=}(SortedArray$<$Item$>$\& a)
\end{tabular}\\


 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Allocate space large enough to hold the elements of {\em a}, then 
 copy its contents such that order is preserved.\end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
ContainerNode *  & insert\index{SortedArray!insert}(Item item)
\end{tabular}\\
 
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Insert {\em item} into the 
\SortedArray\ such that order is preserved.
If this operation would extend the active range of cells beyond the current
allocation, reallocate the \Array\ and recopy the elements.
Note:  The return type is {\em ContainerNode*} so that this method may
be called from \Container\ pointers or references.  However, since there
is no packaging node structure in \Array,\ a NULL pointer is returned. 
$O(n)$\end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
ContainerNode *  & append\index{SortedArray!append}(Item item)
\end{tabular}\\
 
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}The same as insert(Item item), 
	except that the new item is added to the empty cell adjacent to
	the cell in the array's active range of largest index {\em
	if the operation does not violate the invariant that the elements
	be stored in order.  Otherwise, the new item is inserted in 
	order} $O(1)$ \end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
Bool  & sortedQ\index{SortedArray!sortedQ}() const
\end{tabular}\\

	
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Return TRUE.  $O(1)$.\end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
int  & search\index{SortedArray!search}(Item)
\end{tabular}\\
 
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Search for an item in the active range of the array 
	using binary search and 
	return its index if it is found.  Return -1 otherwise $O(\log n)$ .\end{minipage}
\end{minipage}
\vspace{0.2in}

			
\begin{minipage}[t]{8in}
\begin{tabular}{ll}
Item  & min\index{SortedArray!min}()
\end{tabular}\\
 
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}The \Container\ method is redefined to take advantage of 
		 the ordered elements. $O(1)$ \end{minipage}
\end{minipage}
\vspace{0.2in}

			
\begin{minipage}[t]{8in}
\begin{tabular}{ll}
Item  & max\index{SortedArray!max}()
\end{tabular}\\
 
 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}The \Container\ method is redefined to take advantage of 
		 the ordered elements. $O(1)$ \end{minipage}
\end{minipage}
\vspace{0.2in}

