第一次写博客,主要是为了记录一下自己学习的过程。
这是以前在Imooc上看老师讲解的数据结构视频学习记下的笔记
最近想开始写一下博客记录一下自己学习的一些比较重要的地方和过程。
James老师在讲解的时候使用的是C++语言,这里我转化成自己比较熟悉的Java
如果有什么理解错误的地方也请大家帮忙纠正一下
写的比较随意,大神就不要喷我了。。
下面是慕课网上视频学习的传送门:
http://www.imooc.com/learn/519
下面是关于队列的定义:
特征:
-先入先出
-First in First out ---FIFO
-例子:排队买票。。。。。。
形式:
普通队列(存在缺点):
-队列是有限制的(内存占有大小的限制)
1、队列头处理完消息以后就消失,然后整个队列往前移动一位
-缺点:队列的移动消耗巨大
2、队列的元素处理完以后位置不变,改为处理方法慢慢向后移动处理
-缺点:前面已经处理完的消息依旧占有空间
环形队列(比普通队列优秀):
-环形队列大小是有限制的,当队列满了以后,还想要进队列的消息只能等待
-消息方法从队列头开始依次处理,处理过后的消息就腾出空间让想要进队的消息进队补上。
代码实现部分:
那么现在对于队列的有了基本的认识之后,就可以开始通过代码(JAVA)来构建一个环形队列:
首先要认识到队列应该有什么功能,用户要如何使用,有一个想法才开始写,
对于队列的基本功能和构造如下图:
实现结构队列对象的结构上图已经整理清楚了,就可以开始实现里面的方法了:
参数以及说明如下:
具体实现细节内容结构很简单,这里我就直接贴出来了并在代码里做出不上了注释补全
数据结构的学习可以让我们应对具体问题的时候处理起来更加得心应手。
ps:主要是本人比较菜写在博客里面就无从下笔。。。。所以直接上代码比较实际
补上一点吧:
对于队列使用和测试(测试下面的那些横条是截图留下的,请忽略):
第一篇就写到这里吧,比较马虎。。。
喜欢主播的请点一波右上角的关注和给主播刷一点鱼丸23333333333333333333333
补充一下:
我的github: https://github.com/Rayhahah/DataStructure.git
网友评论