一、双端队列的特点:
可以对两端进行操作:队尾入队,队首出队;队尾出队,队首入队;
二、双端队列要实现的操作:
三、代码块(顺序表实现):
class Deque:
def __init__(self):
self.items=[]
def is_empty(self):
return self.items==[]
def length(self):
return len(self.items)
def push(self,item):
self.items.append(item)
def push_left(self,item):
self.items.insert(0,item)
def pop(self):
return self.items.pop(0)
def pop_right(self):
return self.items.pop()
def peek(self):
return self.items[0]
if __name__ == '__main__':
deque=Deque()
deque.push(1) #1
deque.push(2) #1,2
deque.push_left(3) #3,1,2
deque.push_left(4) #4,3,1,2
deque.pop() #3,1,2
deque.pop_right() #3,1
print(deque.items)