http://cboard.cprogramming.com/c-programming/153942-sorting-c-language.html