发布网友 发布时间:2023-11-06 11:45
共1个回答
热心网友 时间:2024-05-22 17:27
顺序队列的假溢出现象如下
一、顺序队列的假溢出现象
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受*的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。
我们已经明白了队列这种基本数据结构,对于顺序队列而言,其存在已经足够解决大多时候的设计问题了,但是其依旧存在一些缺陷和不足,因为我们的入队和出队操作均是直接在其后面进行结点的销接和删除,这就造成其使用空间不断向出队的那一边偏移,产生假溢出。
什么是假溢出?打一个比方,回顾一下队列的性质,首先我们有一个顺序队列,这个队列的大小为5,其已经包含了四个元素data1,data2,data3,data4,接着,我们对这个队列进行出队操作,出队2个元素,队列就变成了这个样t。
目前看起来没有问题,那么我们接着再进行入队操作,我们入队2个元素,分别是data5和data6,此时我们已经发现问题了,尾指针移动到我们可以进行队列操作的范围之外去了,我们称呼作为队列用的存储区还没有满但队列却发生了溢出.我们把这种现象称为"假溢出”。
热心网友 时间:2024-05-22 17:27
顺序队列的假溢出现象如下
一、顺序队列的假溢出现象
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受*的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。
我们已经明白了队列这种基本数据结构,对于顺序队列而言,其存在已经足够解决大多时候的设计问题了,但是其依旧存在一些缺陷和不足,因为我们的入队和出队操作均是直接在其后面进行结点的销接和删除,这就造成其使用空间不断向出队的那一边偏移,产生假溢出。
什么是假溢出?打一个比方,回顾一下队列的性质,首先我们有一个顺序队列,这个队列的大小为5,其已经包含了四个元素data1,data2,data3,data4,接着,我们对这个队列进行出队操作,出队2个元素,队列就变成了这个样t。
目前看起来没有问题,那么我们接着再进行入队操作,我们入队2个元素,分别是data5和data6,此时我们已经发现问题了,尾指针移动到我们可以进行队列操作的范围之外去了,我们称呼作为队列用的存储区还没有满但队列却发生了溢出.我们把这种现象称为"假溢出”。