quick sort impl

QuickSort is important and it is usually the best sort method in most
conditions. Somebody say about 90 percent of programmers could not write
quick sort right. And I believe that although it looks easy to make you
also should pay more attention to it.