发布网友 发布时间:2024-05-06 07:37
共2个回答
热心网友 时间:2024-06-04 21:21
顺序队列假溢出就是,随着队头出队慢慢地就会空出一个个存储单元,但是队尾一直再进,最后就是存储空间根本没用满,队列就满了!解决办法,2个,1个是空出1个存储单元出来,另一个是做成循环队列。
当元素被插入到数组中下标最大的位置上之后,队列的空间就用尽了,尽管此时数组的低端还有空闲空间,这种现象叫做假溢出。
将存储队列的数组头尾相接,形成循环队列。队头、队尾指针加1时用语言的取模(余数)运算实现。
队头指针进1: Q.front = (Q.front+1) % MAXQSIZE。
队尾指针进1: Q.rear = (Q.rear+1) %MAXQSIZE。
扩展资料:
顺序队列通常采用一维数组进行存储。其中,连续的存储单元依次存放队列中的元素。同时,使用两个指针分别表示数组中存放的第一个元素和最后一个元素的位置。其中,指向第一个元素的指针被称为队头指针front,指向最后一个元素的位置的指针被称为队尾指针rear。
在实际编程过程中,通常设队头指针指向队列的第一个元素,队尾指针指向队尾元素的后一个位置。front和rear的初值在队列初始化时均应置为0;入队时将新元素插入rear所指的位置,然后将rear加1。
参考资料来源:百度百科-顺序队列
热心网友 时间:2024-06-04 21:22
顺序队列假溢出就是,随着队头出队慢慢地就会空出一个个存储单元,但是队尾一直再进,最后就是存储空间根本没用满,队列就满了!解决办法,2个,1个是空出1个存储单元出来,另一个是做成循环队列!