栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【数组模拟队列】和【环形队列】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数组模拟队列】和【环形队列】


前言 银行处理排队问题,当别人的业务办理完成之后,就会轮到下一个

`

一、队列是什么?

队列本身是一个有序列表,因为队列的输出输入分别从前后端处理,front会随着数据输出改变,rear是随着输入改变而改变
队列的特点:先入先出

二、使用步骤

maxSize:队列长度
数组模拟队列:
将数据存入队列时:首先考虑队列是否已经满了(即rear=maxSize-1),因为数组下标从开始,所以减一
队列为空的时候:rear==front;

2.读入数据

数组模拟队列代码如下(示例):

class ArrayQueue{
    private int maxSize;
    private int front;
    private int rear;//尾部
    private int arr[]=null;
    //初始化
    public ArrayQueue(int maxSize)
    {  this.maxSize=maxSize;
        front=-1;
        rear=-1;
        arr=new int[maxSize];
    }
    //提供方法
    //1.判断队列是否满了
    public boolean isFull()
    {
        return rear==maxSize-1;
    }
    //2.判断队列是否为空
    public boolean isNull()
    {
        return front==rear;
    }
    //3.添加数据到队列当中:动rear
    public void addQueue(int data)
    {
        if(isFull())
        {
            System.out.println("当前队列已经满了,不能添加数据");
            return;
        }
        else
        {
//
            rear++;//让rear后移
            arr[rear]=data;

        }
    }
    //4.获取队列数据:动front
    //先入先出,出的是front
    public int getQueue()
    {
        if(isNull())
        {//throw直接导致代码中断
            throw new RuntimeException("队列为空,没有数据");
        }
        else
        {
            front++;//front后移
            return arr[front];
        }

    }
    //5:得到队列头
    public int getHead()
    {    if(isNull())
    {
        throw new RuntimeException("队列为空,没有队列头");
    }
        front++;
        return arr[front];
    }
    //显示队列所有数据
    public void showQueue()
    {
        if(isNull())
        {
            System.out.println("队列为空");
            return;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println("arr["+i+"]="+arr[i]);
        }
    }


}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号