循环队列并不是链表,它也是顺序表,用一组地址连续的存储单元依次存放
背景: 循环队列(顺序存储)
假溢出:因为普通队列会存在插入和删除元素时,rear,front都往后走,导致前面空出的位置无法再次使用,当队列满了时,其实仍有空间剩余,造成了假溢出,因此我们引入循环队列
#循环队列我们需要对rear和front进行再处理 (若定义一个数组a[10],那么下标只是0-9,而在rear和front进行前移时,可能会超过9)因此我们规定:
rear=(rear+1)%MAXSIZE;
front=(front+1)%MAXSIZE;
下面讲讲循环队列定义和函数引用的三种形式:
1.引用
初始化:
定义函数
传参
2.指针
初始化:
定义函数跟初始化是一样要加*,传参时要加取地址符&
3.指针(简单点的形式)
初始化:这里要给其分配空间了
函数定义:
传参
可见,这里的定义时与2不同,定义函数时和传参也不尽相同