队列

  • 一、使用场景
  • 二、队列定义
  • 三、数组模拟队列
  • 四、 队列实现思路

一、使用场景

银行排队,政务大厅排队(排队取号)

二、队列定义

1、队列是一个有序列表,可以用数组或是链表来实现
2、先入先出原则,即:先存入的数据先取出,后存入的数据后取出
3、队列示意

三、数组模拟队列

代码实现

//数组模拟队列
class Queue{private int maxSize;//数组容量private int front;//队列头private int rear;//队列尾private int[] Array;//存放数据,模拟队列//创建queue类的构造器public Queue(int arrMaxSize) {maxSize = arrMaxSize;//数组的最大长度Array=new int[maxSize];front=-1;//指向队列头部,front是指队列头的前一个位置rear=-1;//指向队列尾部,rear是值队列的尾部}//判满public boolean isFull(){return rear==maxSize-1;}//判空public boolean isEmpty(){return rear==front;}//添加数据到队列(入队)public void addQueue(int data){//判满if(isFull()){return;}rear++;//rear后移,数据入队Array[rear]=data;}//获取队列数据(出队)public int getQueue(){//判空(没有数据当然出不了队)if(isEmpty()){//抛出异常throw new RuntimeException("队列为空");}front++;//头指正向后移,取数据return Array[front++];}//显示队列所有数据public void showQueue(){//判空if(isEmpty()){System.out.println("队列为空");return;}//遍历for (int i = 0; i <Array.length ; i++) {System.out.printf("arr[%d]=%d\n",i,Array[i]);}}//显示队列头数据(队列的第一个数据)public int headQueue(){//判空if(isEmpty()){throw new RuntimeException("队列为空");}return Array[front+1];}
}

四、 队列实现思路

/*** 队列思路分析* 1、创建一个使用数组模拟队列的类*      1.1定义maxsize 表示数组的最大容量*      1.2定义front   表示队列头*      1.3定义rear    表示队列尾巴*      1.4定以int型数组arr  用于存放数据*  2、创建队列的构造器*      1.1front=-1;指向队列头部*      1.2rear=-1;指向队列尾部*  3、判满*  4、判空*  5、编写添加数据的方法,入队列*  6、编写获取数据的方法,出队列*  7、编写显示队列所有数据的方法*  8、编写显示头数据的方法*/

数据结构———>队列相关推荐

  1. java 数据结构_Java版-数据结构-队列(数组队列)

    前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...

  2. 数据结构——队列的C++实现

    数据结构--队列的C++实现 \qquad队列的创建.判断是否为空或者满.入队和出队操作的C++实现. #include<iostream> using namespace std;//1 ...

  3. java 数据队列_Java 数据结构 - 队列

    Java 数据结构 - 队列 我们今天要讲的数据结构是队列,比如 Java 线程池任务就是队列实现的. 1. 什么是队列 和栈一样,队列也是一种操作受限的线性结构.使用队列时,在一端插入元素,而在另一 ...

  4. 数据结构队列代码_代码简介:队列数据结构如何工作

    数据结构队列代码 Here are three stories we published this week that are worth your time: 这是我们本周发布的三个值得您关注的故事 ...

  5. java循环队列_Java版-数据结构-队列(循环队列)

    前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n ...

  6. 第七周--数据结构--队列数组

     /*    *第七周--数据结构--队列数组     *Copyright (c) 2015 烟台大学计算机与控制工程学院    *All right reserved.    *文件名称:li ...

  7. 数据结构-队列和栈有什么区别

    数据结构-队列和栈有什么区别 1:队列和栈是两种不同的数据结构.它们有以下区别: (1)操作的名称不同.队列的插入称为入队,队列的删除称为出队.栈的插入称为进栈,栈的删除称为出栈. (2)可操作的方式 ...

  8. 数据结构——队列的C语言代码实现

    系列文章目录 数据结构--顺序表的C语言代码实现 数据结构--八种链表的C语言代码实现 数据结构--栈的C语言代码实现 数据结构--队列的C语言代码实现 数据结构--堆的C语言代码实现 文章目录 系列 ...

  9. 数据结构——队列 c++详解

    1.队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点: (1)队列中的数据元素遵循"先进先出"(First In First Out)的原则,简称FIFO结构: (2 ...

  10. C++数据结构——队列

                                                      C++数据结构--队列 参考博客: 数据结构图文解析之:队列详解与C++模板实现 C++ stl队列 ...

最新文章

  1. Map.keyset()
  2. Facebook-Rebound探索发现
  3. 【新星计划】 Python的txt文本操作-读、写
  4. android的三个基础控件,Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条...
  5. border-radius 涨知识的写法
  6. 雷军变身IPO收割机:坐拥4家上市公司,今年至少收获8个IPO!
  7. 过几天就退休了,目前情况下可不可以请同事们吃饭呢?
  8. fiddler everywhere使用_用Fiddler抓取iOS https流量
  9. 自由网络-去中心化分布式网络
  10. 高斯误差函数erf的数值计算方法(C++实现)
  11. glassfish插件_Maven嵌入式Glassfish插件-未启动
  12. 校园招聘的简历写作与面试技巧
  13. element-ui message 显示重叠问题
  14. 自定义Drawable实现灵动的红鲤鱼动画(上篇)
  15. 条件计数:COUNTIF、COUNTIFS函数
  16. 使用vsftpd搭建FTP服务器(Centos 7)
  17. 西门子精智comfort触摸屏使用U盘方式备份和恢复项目的具体方法
  18. ECSHOP搜索引擎神器SEO秒收录插件,ECSHOP百度ping收录功能
  19. 【同花顺公式编辑教程】第1章 编辑器环境
  20. 自动化测试岗位建议熟读!!!Python+Selenium代码编写方法大全

热门文章

  1. 应用层TCP三次握手及各种协议简介telnet【笔记】
  2. Android通过post请求发送一个xml,解析返回xml数据
  3. AutoCAD VBA创建椭圆和样条曲线
  4. 根据开始日期和结束日期获取基金的当天净值,并计算收益率
  5. 24.docker port
  6. 10.TCP/IP 详解卷1 --- 动态选路协议
  7. 8. memached安全性
  8. 20.Adding Javascript and CSS via Layout XML
  9. 20. Magento 创建新闻模块(1)
  10. Windows系统CVE整理