什么是顺序队列的"假溢出"现象,如何解决此现象(要求简要叙述该解决方法的含义)

3什么是顺序队列的“假溢出”现象,如何解决此现象(要求简要叙述该解决方法的含义)

顺序队列假溢出就是,随着队头出队慢慢地就会空出一个个存储单元,但是队尾一直再进,最后就是存储空间根本没用满,队列就满了!解决办法,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。

参考资料来源:百度百科-顺序队列

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-04
顺序队列假溢出就是,随着队头出队慢慢地就会空出一个个存储单元,但是队尾一直再进,最后就是存储空间根本没用满,队列就满了!解决办法,2个,1个是空出1个存储单元出来,另一个是做成循环队列!本回答被提问者采纳

什么是顺序队列的"假溢出"现象,如何解决此现象(要求简要叙述该解决方法...
顺序队列假溢出就是,随着队头出队慢慢地就会空出一个个存储单元,但是队尾一直再进,最后就是存储空间根本没用满,队列就满了!解决办法,2个,1个是空出1个存储单元出来,另一个是做成循环队列。当元素被插入到数组中下标最大的位置上之后,队列的空间就用尽了,尽管此时数组的低端还有空闲空间,这...

何谓队列的“假溢出”现象?如何用循环队列解决此问题,简述其工作...
假溢出是是队列在一端进入插入,TOP值就会增加,在另一端删除,当判断TOP==MAX-1是,就会说明已经队满,但实际在队列的另一端还是有存储空间的,这就是“假溢出”。解决方法:设置队列为循环队列就可以了。TOP=(TOP+1)MOD (MAX-1)。下面是一个实例, 不过这个实现会浪费一个元素的存储空间。...

在顺序队列操作中,什么是“假溢出”现象?怎样解决这一现象?(数据结构...
在顺序队列操作中,假溢出的现象为:当元素被插入到数组中下标最大的位置上之后,队列的空间就用尽了,尽管此时数组的低端还有空闲空间。解决:将存储队列的数组头尾相接,形成循环队列。队头、队尾指针加1时用语言的取模(余数)运算实现。队头指针进1: Q.front = (Q.front+1) % MAXQSIZE 队尾指...

何谓队列的“假溢出”现象?如何解决?
造成这种现象的原因是由于队列的操作方式所致。 解决队列上溢的方法有以下几种:(1)建立一个足够大的存储空间,但这样做往往造成空间使用效率低。(2)当出现假溢出时,可采用以下几种方法: ①采用平移元素的方法。每当队列中加入一个元素时,队列中已有的元素向队头移动一 个位置(当然要有空余...

什么是队列的假溢出,如何解决
1)采用循环队列; • 2)按最大可能的进队操作次数设置顺序队列的最大元素个数; • 3)修改出队算法,使每次出队列后都把队列中剩余数据元素向队头方向移动一个位置; • 4)修改入队算法,增加判断条件,当假溢出时,把队列中的数据元素向对头移动,然后方完成入队操作。意思就...

在顺序队列中,什么叫真溢出?什么叫假溢出?为什么顺序队列通常都采用顺序...
假溢出是由于队尾rear的值和队头front的值不能由所定义数组下界值自动转为数组上界值而产生的,解决的办法是把顺序队列所使用的存储空间构造成一个逻辑上首尾相连的循环队列。和顺序表一样,顺序队列用一个向量空间来存放当前队列中的元素。由于队列的队头和队尾的位置是变化的,设置两个指针front和rear...

顺序队列的假溢出现象
一、顺序队列的假溢出现象 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为...

C语言中队列的假溢出是什么意思
系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出"。设顺序存储队列用一维数组q[m]表示,其中m为队列中元素个数,队列中元素在向量中的下标从0到m-1。设队头指针为front,队尾指针是rear,约定front指向队头元素的前一位置,rear指向队尾元素。当front等于-1时队空...

顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?
1。顺序队列中,如果没有按照取余数的方式入队,就会在数组的最后,出现数组溢出,这时候,及时数组前面有空间,也不能正确入队,形成假溢出。2.数据结构到现在并没有统一的说法,或者说,这个东西是一个很泛的东西,他除了数据之间的相互关系,还包含这些数据及其关系的某种操作。而数据类型,就是具体的...

数据顺序队列是什么?
该现象称为“假上溢”现象,如图1所示。如用顺序队列,不作特别说明,一般指存储空间足够大,不会出现假溢出的情况。2.如何解决顺序队列的“假上溢”(1)当出现“假上溢”现象时,把所有的元素向低端移动,使得空位从高端区移向低端区,显然这种方法很浪费时间。(2)将存储队列元素的一维数组首尾相...

相似回答