python学习记录-- 数据结构----队列

本文详细介绍了队列数据结构的概念及基本操作,包括入队和出队,并通过Python代码实现了一个简单的队列类,展示了队列从空到满的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构----队列

队列(queue)也是表,队列插入和删除在不同端进行。

队列的基本操作是Enqueue(入队),在表的末端(rear)插入一个元素,还有出列(Dequeue),删除表开头的元素。(即:队尾插入,队首删除

代码记录:

class Queen():
    def __init__(self,size):
        self.queen = []  #队体为空列表
        self.size = size
        self.head = 0  #队首为0
        self.tail = 0  #队尾为0
    def isEmpty(self):
        if self.head == self.tail:  #队首,队尾相同时,为空
            return True
        else:
            return False
    def isFull(self):
        if self.tail == self.size: #队尾与队体相同时,已满
            return True
        else:
            return False
    def push(self,obj):
        if self.isFull():  #入队,当满时,弹出已满提示
            print "sorry,queen is full"
        else:
            self.queen.append(obj)  #添加内容入队
            self.tail += 1 #队尾位置加1
            
    def out(self):
        if self.isEmpty():  #出队,为空时,弹出为空提示
            print "soffy,queen is empty!"
        else:
            self.tail -=1  #出队,队尾位置减1
            self.queen.pop(0) #去除队首内容
            
    def show(self):
        print self.queen
if __name__ == '__main__':
    q = Queen(3)
    q.show()
    print q.isEmpty()
    q.push("A")
    q.show()  #['A']
    print q.head
    print q.tail
    q.push("B")
    q.show()  #['A', 'B']
    print q.head
    print q.tail
    q.push("C")  
    q.show()  #['A', 'B', 'C']
    print q.head
    print q.tail
    q.out()  
    q.push("D")
    q.show() #['B', 'C', 'D']
    print q.head
    print q.tail
    q.push("E")
    q.show()  #sorry,queen is full
    print q.head
    print q.tail

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值