遍历单个列表



遍历单个列表时,在循环条件中,temp != NULL和temp-next != NULL有什么区别?

为例
    while(temp != NULL)
    { 
        ......
        ......
    }

    while(temp->next != NULL)
    { 
        ......
        ......
    }

我不明白这两者的区别

根据上下文,这个答案假设temp是链表中的一个节点。

temp->next != NULL返回true当有一个节点在temp之后(即当temp不是列表中的最后一个节点)。例如,考虑以下列表:

a -> b -> c -> NULL

如果我们执行temp = a->next,则temp为b,并且temp->next != NULL的计算结果为true,因为c(不是NULL)在b之后。

当temp本身是列表中的一个节点时,

temp != NULL返回true。如果由于某种原因,您在列表中遍历得太远,则可能不是这种情况。使用与上面相同的列表:如果执行temp = c->next,则temp != NULL的计算结果为false。

理解了这些,列表之间的区别如下:

  • while(temp != NULL)...执行直到temp为NULL
  • while(temp->next != NULL)执行直到节点temp为NULL

相关内容

  • 没有找到相关文章

最新更新