http://www.citforum.ru/programming/theory/sorting/sorting2.shtml