<p><em>Taken from Wikipedia, the free encyclopedia:</em></p>

<p>In computer science and mathematics, a sorting algorithm is
an algorithm that puts elements of a list in a certain order. 
The most used orders are numerical order and lexicographical order.
Efficient sorting is important to optimizing the use of other
algorithms (such as search and merge algorithms) that require 
sorted lists to work correctly. It is also often useful for
canonicalizing data and for producing human-readable output.</p>