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

来源:4-2 环形队列实现下

谁记得

2016-12-15 20:33

bool MyQueue::DeQueue(int &element) 

{

 if (QueueEmpty()) 

 {

  return false;

 }

 else 

 {

  element = m_iHead;//这一步不懂

  m_iHead++;

  return true;

 }

}

 

写回答 关注

1回答

  • Ephraim
    2016-12-16 09:58:25
    已采纳

    这个函数做到了两个功能

    1. 让首元素出队

    2. 获得出队元素的值

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

    int DeQueue(void) {

    int element =m-iHead;

    .... //头元素出队

    return element;

    }

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

    BingBi...

    请问,这个element在插入和删除的时候都使用到了,它是常驻内存的吗?什么时候会被销毁?以出队为例,如果不是引用的影响是什么?恳请赐教,谢谢(✿◡‿◡)

    2018-03-13 10:30:40

    共 2 条回复 >

数据结构探险—队列篇

与现实最为贴近的数据结构-队列,带大家进入数据结构的美妙世界

110035 学习 · 170 问题

查看课程

相似问题