首页 > TAG信息列表 > 队空
循环队列
循环队列定义概念为了解决顺序队列“假溢出”的缺陷,所以引入了循环队列。 关于顺序队列请参考:顺序队列。循环队列就是将顺序队列臆造成一个环状的空间(实际上不是,只是把它看成是环状的),即把存储队列元素的顺序表从逻辑上视为一个环。当队头指针 queue.front==MAXSIZE-1 时(即到队列及其操作
队列 队列的定义 队列简称队,是一种受限制的线性表,仅允许在表的一端插入,在表的另一端进行删除。 进行插入的一端叫做队头 进行删除的一端叫做队尾 队的特点 **先进先出(FIFO) ** 顺序队(循环队列) 顺序队主要以循环队列的形式出现 循环队列的要素 队空状态 qu.rear == qu.frontC++循环队列的实现(五)
笔记: 设置一个表示元素个数的数据成员tag标记最近一次插入或删除操作,初始化tag为0 头指针指向队头元素,尾指针指向队尾元素的下一个位置 队空条件:(Q.front==Q.rear)&&(Q.tag==0) 队满条件:(Q.front==Q.rear)&&(Q.tag=1) 队中元素个数:(Q.rear-Q.front+MaxSize-1)%MaxSize+1 (这循环队列
区分队空还是队满的情况: 1)牺牲一个单元来区分队空和队满 队空:队首指针 = 队尾指针 队满:(队尾指针 + 1)% MAXSIZE = 队首指针 2)类型中增加一个表示元素个数的数据成员 3)tag数据成员一文搞懂循环队列的不同配置问题
本文主要详细讲解了数据结构中循环队列在3种不同配置下所延申出来的一些问题,而对于链式队列则没什么好说的。 注意本文所说的配置是指:什么时候是队空状态,什么时候是队满状态,入队操作怎么执行,出队操作怎么执行。它们在不同的规定下会体现出不同的形式,这些不同的形式就是队