试写出一个采用单链表存储的线性表A(A带表头结点 Head)的数据元素逆置的算法。
时间: 2023-04-10 11:05:02 浏览: 120
单链表的插入算法-数据结构 线性表
可以使用三个指针,分别指向当前节点、前一个节点和后一个节点,依次遍历链表并将当前节点的指针指向前一个节点,直到遍历完整个链表。具体实现如下:
void ReverseList(ListNode* Head) {
if (Head == NULL || Head->next == NULL) {
return;
}
ListNode* pre = NULL;
ListNode* cur = Head->next;
ListNode* next = cur->next;
while (next != NULL) {
cur->next = pre;
pre = cur;
cur = next;
next = next->next;
}
cur->next = pre;
Head->next = cur;
}
阅读全文