链式队列基本操作的实现问题
Posted rewivy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链式队列基本操作的实现问题相关的知识,希望对你有一定的参考价值。
问题描述:用链式存储方式实现队列的基本操作
涉及变量:front:Node型自定义变量,指向队首元素
rear:Node型自定义变量,指向队尾元素
涉及教材:《数据结构——Java语言描述(第2版)》 清华大学出版社
大致思路:
链式存储结构不害怕出队列会浪费空间,因此也不需要要循环结构来节约空间
front为指向队首结点的指针
rear为指向队尾结点的指针
初始化时它们均指向空
初始化代码如下:
队列的置空方法与初始化相类似
而判断队列是否为空只需要判断队首指针是否指向非空元素即可
代码如下:
求长度与陈列元素方法有异曲同工之妙
同样是挨个判断元素是否为空后再进行选择
在求长度方法中,若不为空,则长度变量自增加1
在陈列元素中,若不为空,则输出元素
代码如下:
入队列,在队列为空时,将队首指针和队尾指针同时指向插入的元素
若不为空,则改变原队尾元素的指向和队尾指针的指向
出队列:在队首指针不指向空时,开始出队列操作,移动队首指针
若出队列的是队尾元素,则出队列后队列为空,将队尾指针指向空
取队首元素:只需要返回队首元素的数据域即可
以上是我对链式队列的基本操作的实现问题的一些看法,希望对各位有所帮助
190125 Rewivy
以上是关于链式队列基本操作的实现问题的主要内容,如果未能解决你的问题,请参考以下文章