python--栈和队列

使用list实现栈,使用deque实现队列(使用list实现队列效率低)。

1.使用list实现栈--先进后出

class Stack:
    '''
       使用列表实现栈
    '''
    def __init__(self, lis):
        self.lis = lis

    def append(self, args):
        self.lis.append(args)

    def pop(self, args=-1):
        return self.lis.pop(args)   # 返回弹出的值
    
    def __str__(self):
        return str(self.lis)

stack = Stack([1,2,3])
stack.append(4)
stack.append(5)
print(stack)  
print(stack.pop(2))
print(stack)

2.使用deque(双端列表)实现队列--先进先出

from collections import deque
class Queue:
    '''
    实现队列
    '''

    def __init__(self, lis):
        self.lis = lis

    def append(self, args):
        self.lis.append(args)

    def popleft(self):
        return self.lis.popleft()   # 返回弹出的值
    
    def __str__(self):
        return str(self.lis)

queue = Queue(deque([1,2,3]))
queue.append(4)
print(queue)
print(queue.popleft())
print(queue)

 

你可能感兴趣的:(python,栈,队列)