队列的总结
自己的理解:
队列就是一个可以进行添加,删除等功能的智能数组,他是以数组为基础的,队列一般由一个抽象类或接口与实现这个抽象类或接口的类组成。
实现步骤:
1. 先定义一个队列的接口(接口中就是要实现的方法)
2. 编写一个实现类(在实现类内部,还是使用数组保存装入队列的对象,每增加一个新的元素就创建一个比原来大一的数组)
3. 创建一个程序的入口;
4. 接口的定义模式:
Public interface 接口名{
//向队列中加入一个对象
Public void add(添加对象类名 对象)
//取得队列中指定位置的一个学生对象
Public 类名 get(int index)
//得到队列的长度,即所有元素的个数
Public int size()
}
实现接口的模式:
public class 类名 implements 接口名{
public void add(类型 对象){
实现方法
}
Public 类名 get(int index){
返回数组对象
}
Pubic int size(){
返回长度
}
}
泛型:
泛型就是在创建队列时指定队列中所存放对象的类型,这样一个队列就可以存放好多个类型的对象。
关键字:E
队列的接口:public interface 接口名<E>{}
泛型中,在传参数的时候都是泛型,具体的类型是在实例化的时候确定的
例如:在add方法中 public void add(E e)
比如添加两个实例化对象 Student st = new Student();
People p = new People();
就可以直接添加:XX.add(st),XX.add(p)这里面存储的就是Student类的对象与People 两个类型的对象
不像数组一个类型的数组只可以存储一个类型的对象
官方解释:
1、定义
队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。
(1)允许删除的一端称为队头(Front)。
(2)允许插入的一端称为队尾(Rear)。
(3)当队列中没有元素时称为空队列。
(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。
具体算法演示请点击查看
(网上的介绍) 队列的结构特点是先进队的元素先出队。假设有队列Q=(a1,a2,...,an),则队列Q中的元素是按a1,a2,...,an的次序进队,而第一个出队的应该是a1,第二个出队的应该是a2,只有在ai-1出队后, ai才可以出队(1≤i≤n),如图3.9所示。
队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾(即不允许"加塞"),每次离开的成员总是队列头上的(不允许中途离队),即当前"最老的"成员离队。
2、队列的基本逻辑运算
与栈类似,队列的运算可以归纳为以下几种:
1. AddQ(ElemType x)
——在队列的尾部插入一个新的元素x。队尾的位置由rear指出。
2. DelQ(Q)
——删除队列的队头的元素。队头的位置由front指出。
3. EmptyQ(Q)
——测试队列Q是否为空队。当队列为空时返回一个真值,否则返回一个假值。
4. FrontQ(Q)
——取得队列Q的队头元素。该运算与DelQ(Q)不同,后者要修改队头元素指针。
5. SetNULL(Q)
——创建一个空队Q,这个运算与线性表置空表类似。
分享到:
相关推荐
关于java数据机构部分,队列的总结,队列实现及操作
NULL 博文链接:https://zhangmingwei.iteye.com/blog/1773740
GCD 是苹果开发的应对多核编程,本实例总结了 GCD 三种队列的获取和创建,以及两种执行任务的方法。
主要介绍了浅谈Java消息队列总结篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1、了解线性表的定义,理解线性表的存储结构以及相关算法的实现; 2、了解栈的定义,理解和掌握栈的存储结构以及相关算法;...3、理解队列的定义,了解队列的存储结构和算法; 4、理解串的概念和模式匹配算法。
应用题及知识点总结 第四章队列应用题及知识点总结 第四章队列应用题及知识点总结 第四章队列应用题及知识点总结 第四章队列应用题及知识点总结 第四章队列应用题及知识点总结 第四章队列应用题及知识点总结 第四章...
实验三 栈和队列 3.1实验目的: (1) 熟悉栈的特点(先进后出)及栈的基本操作,如入栈、出栈等,掌握栈的基本操作在栈的顺序存储结构和链式存储结构上的实现; (2) 熟悉队列的特点(先进先出)及队列的基本操作...
里面有几种队列的源代码
优先队列、图等总结及习题.docx
编写程序,建立容量为n(建议n=8)的循环队列,完成以下程序功能。输入字符#,执行一次出队操作,屏幕上显示出队字符;输入字符@,队列中所有字符依次出队并按出队次序在屏幕上显示各字符;输入其它字符,则输入的字符...
关于C++中容器和队列的总结,能够帮助初学者对C++中的容器和队列有更直观的理解。
消息队列是个高大上的名词儿,本质上就是如何业务进行排队处理,最常的使用场景就是发送短信的时候使用短信队列。但消息队列可以做的不止是这一类场景,它在解耦、消峰、异步、一致性等方面都有很大的用武之地。因此...
中学队列体操比赛总结讲话稿.doc
主要针对于消息队列的一些常见问题该如何处理做了统计。还有一部分没有总结,学习的同学可以继续延申总结。 主要针对于消息队列的一些常见问题该如何处理做了统计。还有一部分没有总结,学习的同学可以继续延申总结...
队列队形跑操比赛总结讲话知识.pdf
https://mp.csdn.net/console/uploadResources?spm=1011.2124.3001.4171
实现多线程队列抢购等功能源码,Java多线程总结之线程安全队列Queue
网上看到的关于消息队列的分析,总结得比较好
队列队形广播体操比赛总结讲话稿.doc
python用栈实现队列,简单明了易于进一步思考和总结发散思维。