有关数据结构单链表整表创建的表尾插入法的一个问题

如图所示:
单链表的整表创建的表尾插入法的问题.jpg

回答:

这种问题你是认真的吗。。。

首先你的描述有点问题,r本身就是一个指针,从头到尾没有任何指针指向r

然后:我包好了一个饺子放你手上,你手上只能拿一个饺子,无论我包完了多少饺子,你手上拿的是不是我最后一个包的呢

回答:

因为你的p节点是新增的节点,所以必然是尾巴节点,而尾插入为了保证插入始终是在尾巴节点因此在插入后必须保证r也同样是尾巴节点,所以当r->next = p执行之后,实际上的链表插入已经完成了,但是由于插入了新的节点,之前是尾节点的r现在不是尾节点了,那该怎么办呢?没事,p是新插入的尾节点啊,那就把p直接复制给r不就好了吗,于是r变成了尾节点,可以进行下一次的插入了

回答:

它这个应该是找尾和插入尾的过程:

r->next=p;   //表尾链接

r=p; //r为上一次的链表的尾结点


因为它是从第一个开始新建的所以每次只用保存当前位置,比如第一个 1 为尾,的二个2为尾.... 它的找尾与新建结点的循环重叠了

以上是 有关数据结构单链表整表创建的表尾插入法的一个问题 的全部内容, 来源链接: utcz.com/a/167570.html

回到顶部