python ADT双端队列

时间:2018-04-20 02:11:54

标签: python

实施ADT双端队列。此ADT类似于队列,但支持从队列的任何一端添加和删除的功能。

看来我正在努力解决这个问题。这就是我的尝试:

class deq:
def __init__(self):
    self.item = []

def is_empty(self):
    return self.item == None

def size(self):
    return len(self.item)

def add_front(self, item):
    self.item.insert(0,item)

def add_back(self, item):
    selft.item.append(item)

def remove_front(self, item):
    self.item.remove(item)

def remove_back(self, item):
    self.item.pop()

输出的示例屏幕截图: This is the sample output

1 个答案:

答案 0 :(得分:0)

remove_front和remove_back不应该使用一个项目(根据这些测试并根据队列的内容)。

remove_front总是删除第一个元素,remove_back总是删除最后一个元素。所以这些函数不需要传递一个项目。

def remove_front(self):
    self.item.pop(0)

def remove_back(self):
    self.item.pop()

通过查看测试失败的原因,您可以在2秒钟内自行调试:“缺少1个位置参数”。这意味着自动化测试调用您的函数的参数少于函数预期的参数。