I found quicksort algorithm from this book

This is the algorithm
QUICKSORT (A, p, r)
i
Just in case you want some shorter code for Quicksort:
IEnumerable QuickSort(IEnumerable i)
{
if (!i.Any())
return i;
var p = (i.First() + i.Last) / 2 //whichever pivot method you choose
return QuickSort(i.Where(x => x < p)).Concat(i.Where(x => x == p).Concat(QuickSort(i.Where(x => x > p))));
}
Get p (pivot) with whatever method is suitable of course.