Θ(n)反转单链表
(算法导论第三版第十章10.2-7)
template<typename T>
void reverses(Single_L<T> &l)
{if(l.head == nullptr || l.head == l.tail) return;HalfNode<T> * tail = l.head;HalfNode<T>*pre = l.head;HalfNode<T>*current = pre->next;HalfNode<T>*next;while (current!= nullptr){next = current->next;current->next = pre;pre = current;current = next;}l.head = pre;
}
单链表地址