简答题

什么是队列的上溢现象?一般有几种解决方法,试简述之。

正确答案

在队列的顺序存储结构中,设队头指针为front,队尾指针为rear,队列的容量(即存储的空间大小)为maxnum。当有元素要加入队列(即入队)时,若rear=maxnum,则会发生队列的上溢现象,此时就不能将该元素加入队列。对于队列,还有一种“假溢出”现象,队列中尚余有足够的空间,但元素却不能入队,一般是由于队列的存储结构或操作方式的选择不当所致,可以用循环队列解决。
一般地,要解决队列的上溢现象可有以下几种方法:
(1)可建立一个足够大的存储空间以避免溢出,但这样做往往会造成空间使用率低,浪费存储空间。
(2)要避免出现“假溢出”现象可用以下方法解决:
第一种:采用移动元素的方法。每当有一个新元素入队,就将队列中已有的元素向队头移动一个位置,假定空余空间足够。
第二种:每当删去一个队头元素,则可依次移动队列中的元素总是使front指针指向队列中的第一个位置。
第三种:采用循环队列方式。将队头、队尾看作是一个首尾相接的循环队列,即用循环数组实现,此时队首仍在队尾之前,作插入和删除运算时仍遵循“先进先出”的原则。

答案解析

相似试题
  • 一般解决队列假溢出现象采用的是循环队列。

    判断题查看答案

  • 什么是死锁?解决死锁的方法一般有那几种?

    简答题查看答案

  • 循环队列的优点是什么?在循环队列中,仅依据头尾指针相等,无法判断队列是“空”还是“满”。要解决这个问题,常用的两种方法是什么?

    简答题查看答案

  • 采用环形队列可以解决队列中假溢出的现象。

    判断题查看答案

  • 3dmax有几种能把二维图形变成三维物体的使用方法,是什么?

    简答题查看答案

  • 创建报表的方法有几种,各有什么优点?

    简答题查看答案

  • 常用的数字滤波方法有几种?它们各自有什么特点?

    简答题查看答案

  • 运行宏有几种方法?各有什么不同?

    简答题查看答案

  • 常用的数字滤波方法有几种?各有什么优缺点?

    简答题查看答案