链表的头插法

部分代码:

linklist p, q;    //linklist为已定义好的单链表结构体,head为主函数中已分配内存空间的头指针。
p = head->next;
head->next = NULL;while (p != NULL)
{q = (linklist)malloc(sizeof(node));q = p;p = p->next;q->next = head->next;head->next = q;
}

顾名思义,就是在头结点前不断更新数据。 

可以这样理解,例如模拟一个含有头结点->3->5->7->NUL的链表,要将其逆置,肯定想到的是       要变成头结点->7->5->3->NULL,那么就可以通过设置p,q两个指针,当p非空时,每次操作使得1.q

指向p 2.p指向下一个数3.q指向头结点 4.头结点指向q。这样 第一次遍历,q就变为 3->NULL,

第二次遍历,q变为5->3->NULL.,以此便可以实现逆置操作。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部