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

首元素出队为什么是将头元素赋值给传递进来的参数?

bool MyQueue::DeQueue(int &element) 

{

 if (QueueEmpty()) 

 {

  return false;

 }

 else 

 {

  element = m_iHead;//这一步不懂

  m_iHead++;

  return true;

 }

}

 

正在回答

1 回答

这个函数做到了两个功能

  1. 让首元素出队

  2. 获得出队元素的值

出队这个好理解,第二个获得首元素的值是我们加上去的,在实际应用中,目的是为了知道它出队的元素值是多少。当然写法有很多种,也可以以返回值的形式带出,比如

int DeQueue(void) {

int element =m-iHead;

.... //头元素出队

return element;

}

这就像栈pop的时候,我们把栈中出栈的元素存到一个变量里,我们也会采取这种方式来获得出栈元素,具体要不要这个功能,看我们了

2 回复 有任何疑惑可以回复我~
#1

谁记得 提问者

好吧,这个老师讲课方式挺奇怪的……
2016-12-16 回复 有任何疑惑可以回复我~
#2

BingBing_Elf

请问,这个element在插入和删除的时候都使用到了,它是常驻内存的吗?什么时候会被销毁?以出队为例,如果不是引用的影响是什么?恳请赐教,谢谢(✿◡‿◡)
2018-03-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

首元素出队为什么是将头元素赋值给传递进来的参数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信