定义存储单元
struct node {
int item;
node *next;
};
假设ptr
指向链表,那么将while(ptr!=NULL)
与while(ptr->next!=NULL)
放在列表中循环直到到达空指针之间是否有区别?
while(ptr->next!=NULL)
不会遍历你的最后一个节点。
当你到达最后一个节点时,ptr->next
将为空,它将退出while
循环
当
while(ptr->next != NULL)
跳过最后一个元素时,while(ptr != NULL)
将遍历所有链表。
想要访问最后一个节点以在列表末尾添加新元素时,第二种解决方案很有用。