java数据结构基础:顺序队列和循环队列
程序员文章站
2022-03-10 07:57:06
目录队列:队列是一种受限制的线性表只允许在表的一端进行插入,另一端进行删除插入的一端称作队尾,删除的一端称作队头具有先进先出的特性顺序队列:队列底层数据采用数组存储设置队头指针front指向队头元素前...
队列:
队列是一种受限制的线性表
只允许在表的一端进行插入,另一端进行删除
插入的一端称作队尾,删除的一端称作队头
具有先进先出的特性
顺序队列:
队列底层数据采用数组存储
设置队头指针front指向队头元素前一个位置,初始值为-1
设置队尾指针rear指向队尾元素,初始值为-1
判满:rear == maxsize - 1
判空:rear == front
代码实现:
顺序队列存在假溢出现象,故使用循环队列替代顺序队列
循环队列:
队列底层数据仍然采用数组存储
为了便于判空和判满,在数组中预留一个空间,认为只留下一个空间的时候队列为满
设置队头指针front指向队头元素,初始值为0
设置队尾指针rear指向队尾元素的后一个位置,初始值为0
判满:(rear + 1) % maxsize == front
判空:rear == front
取得当前队列有效数据个数:(rear + maxsize - front) % maxsize
代码实现:
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!
下一篇: java数据结构基础:单链表与双向链表