链表的头插法和尾插法

1.头插法

该算法的官方描述为∶从一个空表开始,重复读入数据,生成新结点,将读入数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头结点之后。

这里的重点就是:每次生成的新结点都是要与头结点相连接的,每个新结点都插在了原来第一个节点的前面。通过这种方法建立的链表是后来居前的,也就是链表是逆序的。因此,当有题目让我们实现线性表的逆序表示,就应该首先考虑头插法

q->next = p->next 
p->next=q

2.尾插法

该算法的官方描述为∶从一个空表开始,重复读入数据,生成新结点将读入数据存放到新结点的数据域中,然后将新结点插入到当前链表的表尾结点之后。

这里的重点就是:生成的一个新结点是直接插入当前单链表的尾端,也就是让原来最后一个结点指向该新结点。这也是链表长度增长的一种最基本的方式。后来居后,生成的链表是顺序的。

 

 

p->next=q; 
p=q;  

 

posted @ 2023-03-06 19:52  xiaowang_lj  阅读(115)  评论(0编辑  收藏  举报