Programmers seem to go on endlessly about sorting algorithms, without actually saying much.
It took me years to really feel like I completely understood sorting, and even longer before I felt sure what the best sorting
algorithm was for any particular situation.
So I've distilled it down to a few salient points, and a few algorithms to consider.
If you don't know what Big-O, or Invariant mean, take a look at things-you-should-know
There are three basic approaches to sorting of note;
Some of the problems that sorting algorithms run into; And three important algorithms to know about;