擅长:python、mysql、java
<p>你在这两个方法中的代码没有任何意义。如何索引到<em>项</em>?它只是节点类的一个字段,而不是数组。为什么不立刻让你想到头部?</p>
<p>令人惊讶的是,剩下的代码看起来还不错。你需要的是:</p>
<pre><code>def front(self):
return self.head.item
def size(self):
return self.length
</code></pre>
<p>此外,在<em>enqueue()</em>方法中,不会递增<em>self.length</em>。</p>
<p>事实上,您在这些方面遇到了问题,这应该是一个有用的线索,告诉您您并没有真正理解代码的其余部分。我见过初学者经常陷入这种试错方法的泥潭,在这种方法中,你会一直纠结于某件事情,直到它成功为止,通常是从某个地方得到的一些代码开始。这会导致代码非常脆弱,因为您的理解也很脆弱。这不是编写合理代码的方法。充其量这是建立你的理解的一个起点-在这种情况下,混在一起是正确的做法。通过实验和所有这些来学习。</p>
<p>我建议你仔细阅读你发布的代码,并建立一个合理完整的心理模型来说明它是如何运行的。画图或者其他什么可以帮助你理解这些片段和它们实现的过程。思维模式的深度是编程技能的关键组成部分。</p>
<p>另外,你不需要费尽心思去写这些课程,除了作为练习或其他什么。Python列表已经有一些方法可以将它们用作队列。</p>