sort singly linked list