数据结构———>队列
队列
- 一、使用场景
- 二、队列定义
- 三、数组模拟队列
- 四、 队列实现思路
一、使用场景
银行排队,政务大厅排队(排队取号)
二、队列定义
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、编写显示头数据的方法*/
数据结构———>队列相关推荐
- java 数据结构_Java版-数据结构-队列(数组队列)
前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...
- 数据结构——队列的C++实现
数据结构--队列的C++实现 \qquad队列的创建.判断是否为空或者满.入队和出队操作的C++实现. #include<iostream> using namespace std;//1 ...
- java 数据队列_Java 数据结构 - 队列
Java 数据结构 - 队列 我们今天要讲的数据结构是队列,比如 Java 线程池任务就是队列实现的. 1. 什么是队列 和栈一样,队列也是一种操作受限的线性结构.使用队列时,在一端插入元素,而在另一 ...
- 数据结构队列代码_代码简介:队列数据结构如何工作
数据结构队列代码 Here are three stories we published this week that are worth your time: 这是我们本周发布的三个值得您关注的故事 ...
- java循环队列_Java版-数据结构-队列(循环队列)
前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n ...
- 第七周--数据结构--队列数组
/* *第七周--数据结构--队列数组 *Copyright (c) 2015 烟台大学计算机与控制工程学院 *All right reserved. *文件名称:li ...
- 数据结构-队列和栈有什么区别
数据结构-队列和栈有什么区别 1:队列和栈是两种不同的数据结构.它们有以下区别: (1)操作的名称不同.队列的插入称为入队,队列的删除称为出队.栈的插入称为进栈,栈的删除称为出栈. (2)可操作的方式 ...
- 数据结构——队列的C语言代码实现
系列文章目录 数据结构--顺序表的C语言代码实现 数据结构--八种链表的C语言代码实现 数据结构--栈的C语言代码实现 数据结构--队列的C语言代码实现 数据结构--堆的C语言代码实现 文章目录 系列 ...
- 数据结构——队列 c++详解
1.队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点: (1)队列中的数据元素遵循"先进先出"(First In First Out)的原则,简称FIFO结构: (2 ...
- C++数据结构——队列
C++数据结构--队列 参考博客: 数据结构图文解析之:队列详解与C++模板实现 C++ stl队列 ...
最新文章
- Map.keyset()
- Facebook-Rebound探索发现
- 【新星计划】 Python的txt文本操作-读、写
- android的三个基础控件,Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条...
- border-radius 涨知识的写法
- 雷军变身IPO收割机:坐拥4家上市公司,今年至少收获8个IPO!
- 过几天就退休了,目前情况下可不可以请同事们吃饭呢?
- fiddler everywhere使用_用Fiddler抓取iOS https流量
- 自由网络-去中心化分布式网络
- 高斯误差函数erf的数值计算方法(C++实现)
- glassfish插件_Maven嵌入式Glassfish插件-未启动
- 校园招聘的简历写作与面试技巧
- element-ui message 显示重叠问题
- 自定义Drawable实现灵动的红鲤鱼动画(上篇)
- 条件计数:COUNTIF、COUNTIFS函数
- 使用vsftpd搭建FTP服务器(Centos 7)
- 西门子精智comfort触摸屏使用U盘方式备份和恢复项目的具体方法
- ECSHOP搜索引擎神器SEO秒收录插件,ECSHOP百度ping收录功能
- 【同花顺公式编辑教程】第1章 编辑器环境
- 自动化测试岗位建议熟读!!!Python+Selenium代码编写方法大全
热门文章
- 应用层TCP三次握手及各种协议简介telnet【笔记】
- Android通过post请求发送一个xml,解析返回xml数据
- AutoCAD VBA创建椭圆和样条曲线
- 根据开始日期和结束日期获取基金的当天净值,并计算收益率
- 24.docker port
- 10.TCP/IP 详解卷1 --- 动态选路协议
- 8. 	memached安全性
- 20.Adding Javascript and CSS via Layout XML
- 20. Magento 创建新闻模块(1)
- Windows系统CVE整理