Runestone将节点添加到有序错误



所以我正在关注Runestone Academy Online Python数据结构和算法课程。

在他们的有序链接列表中,他们使用此代码添加节点

def add(self,item):
    current = self.head
    previous = None
    stop = False
    while current != None and not stop:
        if current.getData() > item:
            stop = True
        else:
            previous = current
            current = current.getNext()
    temp = Node(item)
    if previous == None:
        temp.setNext(self.head)
        self.head = temp
    else:
        temp.setNext(current)
        previous.setNext(temp)

自从订购以来,它们包括停止变量,该变量告诉节点遍历遍历更大的节点时停止。

我的问题是:

   while current != None and not stop:

那不是错的吗?

应该不是'或'而不是'和'?

,因为如果是'和',那意味着:

      current!=None

也必须满足只有在列表末尾发生的条件

希望我不会混淆太多...

这是布尔代数。虽然在其状况为真时运行。AND仅在两侧都是正确的情况下才是正确的,因此,如果current != None为false或not stop为false,则AND将是false,但是如果您确实使用OR而不是CC_5,则两者都需要是false以使循环停止并且这将是错误你
我建议在逻辑门上进行进一步阅读,特别是门

相关内容

  • 没有找到相关文章

最新更新