首页 > 解决方案 > 了解单链接队列函数的实现

问题描述

我在这里显示了以下问题: 问题 我不确定为什么这个答案是正确的,甚至不知道如何可视化这个函数的执行。如何评估 while 循环中显示的多重赋值表达式?

标签: pythonqueue

解决方案


一旦您以列表的形式在论文上可视化单链表,您会注意到在每次迭代中它所做的只是恢复连接:

initial setup:

(1) -> (2) -> (3) -> (4) -> (5) -> nil
 p      q


step 1:

(1) <- (2) -> (3) -> (4) -> (5) -> nil
        p      q


step 2:

(1) <- (2) <- (3) -> (4) -> (5) -> nil
               p      q


step 3:

(1) <- (2) <- (3) <- (4) -> (5) -> nil
                      p      q


step 4:

(1) <- (2) <- (3) <- (4) <- (5)    nil
                             p      q

这里,

  • q.next = p意思是“反向连接”;
  • p, q = q, q.next意思是“向前推进一个节点”。

推荐阅读