为什么我的删除值总是第一个

来源:4-3 环形队列检测

weixin_慕无忌741431

2017-03-28 20:53

http://img.mukewang.com/58da5d5b0001241603960351.jpg

bool DeQueue(int &Elem)

    {

        if(QueueEmpty())

            return false;

        else

        {

            Elem=m_Queue[m_Tail];

            m_Head++;

            m_Head=m_Head%m_QueueCapacty;

            m_Queuelen--;

            return true;

        }

    }

不可以显示正确的所要删除的数,但是可以实现删除操作

10下边的数字不应该是输出20吗?

写回答 关注

3回答

  • BingBing_Elf
    2018-03-13 16:04:29

    你执行出队操作,应该是对队列头进行操作对吧,因为队列是FIFO模型,但是你的代码中为什么写成了Elem=m_Queue[m_Tail];这是将队尾,要入队的元素赋值给ele?

  • 面具VS口罩
    2017-04-18 20:18:22

    else 下面的这行应该是Elem=m_Queue[m_Head];

  • 慕婉清7366438
    2017-04-02 11:27:01

     m_Head=m_Head%m_QueueCapacty+ m_Head;

    weixin...

    输出依旧是原来的样子,问题应该不在这

    2017-04-09 23:31:07

    共 1 条回复 >

数据结构探险—队列篇

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

110035 学习 · 170 问题

查看课程

相似问题