\section{Ordena\cao\ inser\cao}
Generalize o padr\ao\ de computa\cao\ da acumula\cao\ de elementos de uma \sqn\
para obter um algoritmo de ordena\cao\ por inser\cao.

\subsection{Solu\cao\ funcional}
Defina uma opera\cao\ de inser\cao\ para inserir um elemento em uma \sqn\ ordenada, produzindo nova \sqn\ ordenada. Use operador \emph{foldl} e produza um
algoritmo de ordena\cao\ por inser\cao.

\subsection{Solu\cao\ imperativa}
Siga os mesmos para da solu\cao\ funcional para produzir um algoritmo de inser\cao\
ordenada e us\'a-lo algoritmo de ordena\cao\ por inser\cao.


\section{Ordena\cao\ por troca}
Use os algoritmos de parti\cao\ derivados anteriormente para produzir algoritmosde ordena\cao, baseados na id\ee ia do \emph{quicksort}.
\subsection{Radix exchange}

\subsection{Ordena\cao\ por inser\cao, de novo}

 merge sort

\subsection{Ordena\cao\ por distribui\cao}

bucket sort

\bibliographystyle{amsplain}
\bibliography{abbrev,general,program,simulation,co,algorithms,compgeo}



