数据结构 c语言版问题何谓队列上溢现像?解决它有哪些方法,且分别简述其工作原理

2025-02-06 13:17:53
推荐回答(3个)
回答1:

队列的上溢就是,队列中实际上还有位置可存储元素,但是指示位置的指针呢不能正确表示存放位置,指到了不能存放元素的位置,并且告诉系统,不能存了,这是与现实中队列运行不同的,上溢就是走一次,走到了存满元素的最后一个位置,再走,就超出了可存放元素的位置。
解释一下,教室里可以做100个学生,现在了按照只要一个位置上坐上了学生,那么,教室里就算少一个位置了,而前面的学生要是走了几个,他不会记录的,他只管现在剩下几个,这样,后面的学生到了100个的时候,他说,好了,教室没座位了,101个及其以后的学生就变成上溢的现象了。
即使教室里还空出了位置,他也不能让坐的。就是这个意思。

回答2:

当用固定大小的数组来存放队列元素时,如果元素个数超出了数组大小,就会溢出。
解决方法:1、用动态数组来存放队列元素,当元素个数达到数组上限时,再申请一个更大的数组空间即可。
2、用链表来存放队列元素。

回答3:

队列溢出 一般是规定了队列大小,但是头尾指针不停移动超出了规定的大小,
解决方法可以用循环队列(头尾相连),也可以在存入的时候判断指针位置,防止溢出