c语言单向链表倒叙
时间: 2023-06-22 11:18:07 浏览: 146
c语言单向链表
单向链表倒序可以通过遍历链表,将每个节点的指针指向前一个节点来实现。具体步骤如下:
1. 定义三个指针 pre、cur 和 next,分别指向前一个节点、当前节点和后一个节点,初始时 pre 为 NULL,cur 指向链表的头节点。
2. 遍历链表,每次将当前节点的 next 指针指向前一个节点,然后将三个指针分别后移一个节点。
3. 当 cur 指向最后一个节点时,链表已经倒序完成,此时需要将链表的头节点指向 cur。
以下是具体的实现代码:
```c
void reverse_list(ListNode **head) {
if (!head || !(*head)) {
return;
}
ListNode *pre = NULL;
ListNode *cur = *head;
ListNode *next = NULL;
while (cur) {
next = cur->next;
cur->next = pre;
pre = cur;
cur = next;
}
*head = pre;
}
```
其中,head 是指向链表头节点的指针,函数通过改变链表节点的指针来实现链表的倒序。
阅读全文