学习队列的问题以及解答
2018-02-07 15:48
651 查看
1:什么是队列:队列是只允许在一段进行插入操作,而在另一端进行删除操作的线性表
2:队列的特征:队列也有线性表的类似操作,不同的是在进入队列的新元素是放在队尾的
3:什么是循环队列:当一个队列中的队尾元素满时但队头前面的还有空位是,就把要加进去的元素放在队头前面,这种头尾相连的就叫做循环队列
4:怎么判断一个队列满员:1:设置一个变量flag,当定义的两个队头队尾指针相同开始相同时,flag为0,当第二次相同时,flag为1,当flag为1时就判断此时满员。2:保留一个元素位置,就即当还有一个空位可插入时就当做满员
5:如何在代码里求出队列的长度和判断是否满员:设队列中的一个指针变量指向队头front,队尾为real,用结构体定义一个变量为Q。长度公式为:(Q.real-Q.front+MAXSIZE)%MAXSIZE。判断是否为满的公式为(Q-〉real+1)%MAXSIZE==Q-〉front
6:什么是队列的链式存储结构:队列的链式存储结构其实就是线性表的单链表,只不过它只能尾进头出,简称为链队列
7:队列的链式存储结构的出队操作:出队时,即首先头结点的后一个结点先出,此时定义一个指针指向第一个结点,然后把p->next的地址给头指针,然后free(p)就完成了出队的操作
8:栈和队列的区别:栈是只能在表尾进行插入和删除,但是队列可以在队头进行出队,在队尾进行入列
9:循环队列有什么好处:作为队列来说,若是在队头出列队尾进列的情况下,就会存在队头前面有空位,但是队尾没有空位的情况,这时候就需要把队头的元素全部顺着移位到第一个空的位置以保住能够正常的元素进入,这样就比较耗时,但用循环队列就可以有效的解决这个问题,增加运行的效率问题
10:循环队列和链队列比较:循环队列:必须预先确定一个长度,所以有存储元素个数的限制和空间的浪费。链队列:没有队列满的问题,只有当内存没有可用空间时才会满
2:队列的特征:队列也有线性表的类似操作,不同的是在进入队列的新元素是放在队尾的
3:什么是循环队列:当一个队列中的队尾元素满时但队头前面的还有空位是,就把要加进去的元素放在队头前面,这种头尾相连的就叫做循环队列
4:怎么判断一个队列满员:1:设置一个变量flag,当定义的两个队头队尾指针相同开始相同时,flag为0,当第二次相同时,flag为1,当flag为1时就判断此时满员。2:保留一个元素位置,就即当还有一个空位可插入时就当做满员
5:如何在代码里求出队列的长度和判断是否满员:设队列中的一个指针变量指向队头front,队尾为real,用结构体定义一个变量为Q。长度公式为:(Q.real-Q.front+MAXSIZE)%MAXSIZE。判断是否为满的公式为(Q-〉real+1)%MAXSIZE==Q-〉front
6:什么是队列的链式存储结构:队列的链式存储结构其实就是线性表的单链表,只不过它只能尾进头出,简称为链队列
7:队列的链式存储结构的出队操作:出队时,即首先头结点的后一个结点先出,此时定义一个指针指向第一个结点,然后把p->next的地址给头指针,然后free(p)就完成了出队的操作
8:栈和队列的区别:栈是只能在表尾进行插入和删除,但是队列可以在队头进行出队,在队尾进行入列
9:循环队列有什么好处:作为队列来说,若是在队头出列队尾进列的情况下,就会存在队头前面有空位,但是队尾没有空位的情况,这时候就需要把队头的元素全部顺着移位到第一个空的位置以保住能够正常的元素进入,这样就比较耗时,但用循环队列就可以有效的解决这个问题,增加运行的效率问题
10:循环队列和链队列比较:循环队列:必须预先确定一个长度,所以有存储元素个数的限制和空间的浪费。链队列:没有队列满的问题,只有当内存没有可用空间时才会满
相关文章推荐
- ES-MongoDB学习1_elasticsearch与mongodb分布式集群环境下数据同步以及遇到的相应问题解答
- 《ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 》勘误、意见反馈以及问题解答
- [转]C++中this指针理解汇总以及问题和解答
- 学习Hibernate碰到的问题以及解决问题的方法(长期更新)
- 企业对于搜索引擎优化的一些常见问题以及相关的解答
- Ajax小系统使用效果,以及出现的问题(待朋友帮忙解答)
- 2006/1/14的问题以及解答
- 数据结构学习足迹:绪论Triplet碰到的问题及分析解答
- [学习笔记]分组数据以及on/where/having的顺序问题
- 关于FAT32和NTFS文件系统的介绍以及相关问题的解答(转自“第二战区”)
- WCF学习总结——什么是WCF以及用WCF解决什么问题
- 字符集编码以及java乱码问题学习总结
- jquery学习第十番 选择器的一些要注意的问题以及DOM操作
- 两侧漂浮广告代码以及出现的问题解答
- 《CSS禅意花园》勘误、意见反馈以及问题解答
- 关于UCOS学习OSMboxCreate(NULL)的问题,希望遇到同样问题的人得到合理的解答
- 安装maven2 for eclipse,以及安装后的问题解答
- 当n非常非常大时(比如为1万),求n!问题的学习,解答和疑问。
- 关于Eclipse3.3中内容助手不是Alt+/的问题解答,以及它的一些其他新特性
- C#常看面试问题以及解答