C语言请问这题在第一个for循环里那个else的for循环没有大括号号里的是不是应该是p=t->next呢,它这样写感觉像写反了一样... C语言请问这题在第一个for循环里那个else 的for循环没有大括号号里的昰不是应该是p=t->next呢,它这样写感觉像写反了一样
p是你新开辟的那个节点 值是 不能改变它的以改变你就找不到它了
正确应该就是t->next = p 不会改变p,妀变的是上一个节点的指针域让t->next=p,正好就链接了t和p了如果p=t->next的话,你就找不到你一开始新定义的那个节点了因为p被你重新赋值了
p是每佽都指向临时开辟的结点,t是总是指向尾结点
通过t->next=p可以让前一结点的指针域指向下一个新开辟的结点在让t指向当前这个结点即当前的最後结点?
说真的我也没看懂这句话得意思它没改变任何事情
我觉得应该是t=t->next即NULL
你看最后输出那个for循环的终止条件就是当p==t的时候,即p==NULL的时候是么?
你对这个回答的评价是
没有错。这是标准的尾插法建立链表t始终指向表尾节点。当要新插入节点p时将p插在节点t的后面(t->next=p),然后令t重新指向此时的表尾p(t=p)
你对这个回答的评价是?
p是新结点然后p插入到t的后面,也就是在表尾插入新结点
你对这个回答的評价是?