link instead of swap quick sort for list