有关数据结构单链表整表创建的表尾插入法的一个问题
如图所示:
回答:
这种问题你是认真的吗。。。
首先你的描述有点问题,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