单链表的逆置实现方法
带头结点的链表
三指针实现
由三个指针 pre = NULL , s = NULL , p = head->next;
第二步:s = p;
第三步:p向后移动 p = p->next;
第四步:s->next = pre; s->next = NULL;
第五步:pre = s;
总体循环移动实现过程:while(p != NULL)
代码实现:
typedef int ElemType;
typedef struct ListNode
{
Elemtype data;//数据元素
struct ListNode*next;
}ListNode,*LinkList
void ReverseList_1(LinkList head)
{
assert(head != NULL);
if(head->next == NULL || head->next->next == NULL)
{
return;
}
ListNode *pre = NULL,*s = NULL;
ListNode *p = head->next;
while(p != NULL