c语言实现单链表的逆置
时间: 2024-01-04 14:04:43 浏览: 127
单链表的逆置是指将链表中的节点顺序颠倒过来。下面是C语言实现单链表逆置的方法:
1. 定义三个指针变量prev、current和next,分别指向当前节点的前一个节点、当前节点和当前节点的下一个节点。
2. 将当前节点的next指针指向prev,实现逆置。
3. 将prev、current和next指针向后移动一个节点。
4. 重复步骤2和3,直到current指向链表的最后一个节点。
5. 返回prev指针,它指向逆置后的链表的头节点。
下面是C语言实现单链表逆置的代码:
```
struct Node* reverseList(struct Node* head) {
struct Node* prev = NULL;
struct Node* current = head;
struct Node* next = NULL;
while (current != NULL) {
next = current->next;
current->next = prev;
prev = current;
current = next;
}
return prev;
}
```
在上面的代码中,我们定义了三个指针变量prev、current和next,分别指向当前节点的前一个节点、当前节点和当前节点的下一个节点。在while循环中,我们将当前节点的next指针指向prev,实现逆置。然后将prev、current和next指针向后移动一个节点,重复执行逆置操作,直到current指向链表的最后一个节点。最后,返回prev指针,它指向逆置后的链表的头节点。
阅读全文