用Python学习数据结构1--队列

一、概述

队列是一种特殊的线性表,特殊之处在意它只允许在表的前端(front 队头)进行删除操作,而在表的后端(队尾)进行操作。即“先进先出”

二、Python实现队列类

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is script file for Queue.
"""
class Queue:
    def __init__(self,size):
        self.size=size
        self.front=-1
        self.rear=-1
        self.queue=[]

    #入队操作
    def enqueue(self,item):
        if self.isfull():
            raise exception("queue is full")
        else:
            self.queue.append(item)
            self.rear=self.rear+1

    #出队操作
    def dequeue(self):
        if self.isempty():
            raise exception("queue is empty")
        else:
            self.front=self.front+1
            return self.queue[self.front]

    #判断队列是否已满
    def isfull(self):
        return self.rear-self.front+1==self.size
    #判断队列是否为空
    def isempty(self):
        return self.front==self.rear

if __name__=="__main__":
    q=Queue(10);
    for i in range(3):
        q.enqueue(i)
    print(q.dequeue())
    print(q.isempty())

测试结果如下所示:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值