首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是什么原因导致我的linkedlist队列python文件中的name error错误无法工作?

是什么原因导致我的linkedlist队列python文件中的name error错误无法工作?
EN

Stack Overflow用户
提问于 2018-12-10 21:03:35
回答 1查看 22关注 0票数 0

我正在遵循tutorial(使用Python编程中的链表实现队列)来创建链表队列,并且我发现当我尝试运行代码时,我得到了一个名称错误错误,指出没有定义入队函数。

代码语言:javascript
运行
复制
# queue is empty at beginning

queue = {'front': None, 'back': None}

# we will use a node to keep track of the elements
# in the queue which is represented by a linked list

class node:
    def __init__(self, data, next):
        self.data = data
        self.next = next

# add elements to queue in 0(1) time
    def enqueue(queue, element):
        N = node(element, None)
        if queue['back'] == None:
            queue['front'] = N
            queue['back'] = N
        else:
            queue['back'].next = N
            queue['back'] = queue['back'].next

# remove first element from queue in 0(1) time
def dequeue(queue):
    if queue['front'] != None:

        first = queue['front']
        queue['front'] = queue['front'].next
        return first.data
    else:
        if queue['back'] != None:
            queue['back'] = None
        return 'Cannot dequeue because queue isempty'

enqueue(queue, 'a')
enqueue(queue, 'b')
enqueue(queue, 'c')

print (dequeue(queue))
EN

回答 1

Stack Overflow用户

发布于 2018-12-10 21:22:39

您的缩进错误。现在,enqueue(queue, element)class node的一个类方法。

试着把它移到左边:

代码语言:javascript
运行
复制
class node:
    def __init__(self, data, next):
        self.data = data
        self.next = next

# add elements to queue in 0(1) time
def enqueue(queue, element):
    N = node(element, None)
    if queue['back'] == None:
        queue['front'] = N
        queue['back'] = N
    else:
        queue['back'].next = N
        queue['back'] = queue['back'].next
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53706277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档