Consider the following deterministic sorting algorithm:
\textbf{Algorithm}: Sorting Algorithm \#1
\textbf{Data}: a list L=(L[1], L[2], \ldots, L[n]) of integers
\textbf{Result}: L sorted in increasing order
\textbf{for} i=1,2, \ldots, n \textbf{do}
\quad \textbf{for} j=i+1, \ldots, n \textbf{do}
\quad \quad \textbf{for} A[j]< A[i] \textbf{then}
\quad \quad \quad swap A[i] and A[j]
\quad \quad \textbf{end}
\quad \textbf{end}
\textbf{end}
Prove that this algorithm is correct and terminates.