可口可乐矿泉水:顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?

来源:百度文库 编辑:高考问答 时间:2024/05/02 08:45:31
2. 数据结构和数据类型两个概念之间有区别吗?

3. 简述线性结构与非线性结构的不同点。

4. 试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?qq:304119128

1。顺序队列中,如果没有按照取余数的方式入队,就会在数组的最后,出现数组溢出,这时候,及时数组前面有空间,也不能正确入队,形成假溢出。
2.数据结构到现在并没有统一的说法,或者说,这个东西是一个很泛的东西,他除了数据之间的相互关系,还包含这些数据及其关系的某种操作。而数据类型,就是具体的东西。
3。线性结构除了第一个节点没有前驱,最后一个节点没有后继,剩下都有且只有一个前驱和一个后继。非线性结构没有这个特点。
4。顺序结构易查找,但是插入删除操作叫繁琐。
连式结构查找慢,但是易于插入删除节点。

答:一般的一维数组队列的尾指针已经到了数组的上界,不能再有入队操作,但其实数组中还有空位置,这就叫“假溢出”。
采用循环队列是解决假溢出的途径。
另外,解决队满队空的办法有三:
设置一个布尔变量以区别队满还是队空;
浪费一个元素的空间,用于区别队满还是队空;
使用一个计数器记录队列中元素个数(即队列长度);
我们常采用法②,即队头指针、队尾指针中有一个指向实元素,而另一个指向空闲元素。
判断循环队列队空标志是: f=rear 队满标志是:f=(r+1)%N