带头结点的单链表就地逆置的算法思想及步骤
时间: 2023-10-10 15:09:57 浏览: 121
对单链表实现就地逆置算法
4星 · 用户满意度95%
带头结点的单链表就地逆置的算法思想是:通过遍历链表,将每个节点的指针指向其前驱节点,最终将头结点的指针指向原链表的尾节点,完成链表的逆置。
具体步骤如下:
1. 定义三个指针:p,q,r,分别指向当前节点、它的前驱节点和后继节点。
2. 将头结点的指针指向空节点,即head->next=NULL。
3. 从第一个节点开始遍历链表,每次更新当前节点指针p、前驱节点指针q和后继节点指针r。
4. 将当前节点p的指针指向前驱节点q,即p->next=q。
5. 将前驱节点q的指针指向当前节点p,即q=p。
6. 将当前节点指针p移动到后继节点r,即p=r。
7. 重复步骤4-6,直到遍历完整个链表。
8. 将头结点的指针指向原链表的尾节点,即head->next=q。
逆置后,链表的结构会发生变化,头结点的位置不变。
阅读全文