队列和栈

队列是列表的一种 其特点是先进先出 以下是python 实现的代码:

  1. class Queue(object):

    ​ def init(self):

    ​ self.items = []

    ​ #队列(只能在队尾)添加一个元素

    ​ def enqueue(self, item):

    ​ self.lst.append(item)

    ​ #删除队列(只能在对头)一个元素

    ​ def dequeue(self):

    ​ self.lst.pop(0)

    ​ #判断队列是否为空

    ​ def isEmpty(self):

    ​ return(self.lst == [])

    ​ #清除队列

    def clear(self):

    ​ del(self.lst) #该队列就不存在了,而不是清空元素

    ​ #返回队列项的数量

    def size(self):

    ​ return(len(self.lst))

    ​ #遍历队列

    ​ def travel(self):

    ​ if self.lst!=[]:

    ​ for i in self.lst:

    ​ print(i)

    ​ else:

    ​ print(" ")

    if name == ‘main’:

    q = Queue()

    print(q.isEmpty())

    for i in range(5):

    ​ q.enqueue(i)

    print(q.size())

    q.print()

    q.dequeue()

    q.print()

    ​ q.clear()

    ​ print(q)

    栈是一种后进先出的列表

    class Stack():
        def __init__(self):
            self.lst=[]
        #是否为空
        def  is_empty(self):
            return  self.lst==[]
        #弹出栈顶元素
        def  pop(self):
             return  self.lst.pop()
        #个数
        def  size(self):
            return  len(self.lst)
        #返回栈顶元素
        def  peek(self):
            if not self.is_empty():
                return  self.lst[-1]
            else:
                return
        #添加新元素到栈顶
        def push(self,item):
                self.lst.append(item)
    
        def travel(self):
            if self.lst != []:
                for i in self.lst:
                    print(i)
            else:
                print(" ")
    a=Stack()
    a.push('a')
    a.push('a1')
    print(a.size())
    a.push('a2')
    a.push('a3')
    print(a.peek())
    print(a.travel())
    print(a.pop())
    print()
    print(a.travel())
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inspiseours

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值