为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / qq_谷是盛满泪的眼_0
仅仅将元素赋值为0,0也是一个int 数值占据内存空间,并未起到清空队列的作用。清空队列的时候已经设置长度为零,再次插入数值的时候长度重新从零计数,插入5个长度增到5,不会出现再次读取的时候长度还是10 的情况

已采纳回答 / ForLemon
    假设一种情况,一个m_iQueueCapacity=4的队列,经过一系列入队和出对操作,此时m_iHead=3,而m_tail=2,此时在3,0,1位置都有元素。    此时m_iQueueLen=3。如果是循环是for (int i = m_iHead; i < m_iQueueLen ; i++),循环次数m_iQueueLen-m_iHead=0,很明显循环不能执行。因为我们要循环的次数是m_iQueueLen,也就是3。所以循环次数应该是(m_iQueueLen + m_iHead)...

已采纳回答 / 慕九州2325515
并不是c++ 使用const声明表示不可一被修改,好像有点像 Java 中final也是不可以被修改,Java中static也是静态变量的意思,static类型可以被修改,那几个成员函数中之所以加了const修饰,是为了保护对象的数据不会被修改,在函数中只能读取对象数据并不可以修改。

已采纳回答 / qq_超人_18
系统按顺序应该先删除customer的内存,然后再是p的内存。而customer的内存是栈实例化的,所以只有执行了return 0;后才会删除。使用了delete p;会导致系统先删除queue的内存,顺序不对,所以执行出现问题。所以不能加delete p;在结束整个程序后就会自动删除。我个人见解,删除内存主要运用在一个程序没有完结但一个类或函数已经完结的情况下,可以减少内存泄漏。如果整个程序都结束,就不存在内存泄漏的问题了。

已采纳回答 / 阿诺41
路径是职业路径,不是集合的意思

已采纳回答 / qq_转眸见花落_0
就是对队列容量取余呀,因为队列容量是个常数,老师后面改了

已采纳回答 / 黄亚彬
因为必须保证这空、满、长度是一个常量(只读),否则的话调用者能修改这些值,导致整个程序错乱,比如我们初始化一个长度为3的环形队列,然后插入了3条数据(此时长度应该为3),如果没有const关键字,我们可以手动去修改队列的长度,这样整个环形队列就错乱了,const的作用就是保证那些只读的属性,不能被认为修改,只能通过代码逻辑修改回答完毕

已采纳回答 / 范更
一样的,因为数组名本来就是一个地址(该数组的第一个元素地址)加一个星号就成了指针,所以说是一样的。

已采纳回答 / Jathy
数据结构只是编程的一种编程设计,用什么语言都可以,所以要用什么软件就要根据用什么语言。比如说Java用Eclipse;C++或C用VC或DevC++等软件;Eclipse也可以进行C++/C编程希望能帮到你^.^

已采纳回答 / Ephraim
这个函数做到了两个功能让首元素出队获得出队元素的值出队这个好理解,第二个获得首元素的值是我们加上去的,在实际应用中,目的是为了知道它出队的元素值是多少。当然写法有很多种,也可以以返回值的形式带出,比如int DeQueue(void) {int element =m-iHead;.... //头元素出队return element;}这就像栈pop的时候,我们把栈中出栈的元素存到一个变量里,我们也会采取这种方式来获得出栈元素,具体要不要这个功能,看我们了
课程须知
本课程是程序世界中的核心课程 由于本门课程是以C++为编码实现的,所以需要大家熟练掌握C++语言基础语法。
老师告诉你能学到什么?
1、什么是数据结构、什么是队列以及队列的实现原理 2、如何设计队列的类,如何完善类的设计 3、如何实现队列的相关函数 4、如何检验代码的正确性,如何完善代码 5、如何与实际相结合,利用数据结构解决实际问题

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消