some sorting algorithm in c#