入队与出队,感觉有问题啊?

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

京飞

2017-04-27 11:32

bool myQueue::enQueue(int element)//首元素入列
{
if(queueFull())
{
return false;
}
else
{

        m_pQueue[m_iTail%m_iqueueCapacity]=element;
m_iTail++;
m_iTail=m_iTail%m_iqueueCapacity;
m_iqueueLen=m_iqueueLen+1;
cout<<"rulie"<<m_iqueueLen<<endl;
   return true;
}

}
bool myQueue::deQueue(int &element)//首元素出列
{
if(queueEmpty())
{
return false;
}
else
{
        element=m_pQueue[m_iHead];
m_iHead++;
m_iHead=m_iHead%m_iqueueCapacity;
m_iqueueLen--;
cout<<"chulie"<<endl;
   return true;
}

入队:确定是先给队尾赋值吗?不是先给队尾++再赋值吗??求教

写回答 关注

3回答

  • BingBing_Elf
    2018-03-13 16:00:41

    首先,要说应该是先给队尾赋值,再移动队尾指针,也就是说,队尾的位置此时应该是空的,以便后续有元素的入队。看你和楼上的对话中,发现你没弄清队尾的位置问题,一旦赋值完成,队尾指针就会移动,移到下一个位置,以便后续操作。再给你个小小的建议,类名、函数名首字母大写,变量小写,约定俗成的规定,毕竟程序是给程序员看的。希望可以帮到你(✿◡‿◡)

  • qq_天空当被子_0
    2017-04-29 23:31:29

    不出列的话队头还是0,队尾是3

    qq_天空当... 回复京飞

    不懂你的意思

    2017-05-01 14:21:26

    共 2 条回复 >

  • qq_天空当被子_0
    2017-04-27 19:46:47

    数组创建的时候队首和队尾都指向数组的首元素了,先++再赋值队首不就为空了吗

    京飞

    一个环形队列4的容量,0.1.2中有值,哪它的队头队位是多少?

    2017-04-28 13:19:55

    共 1 条回复 >

数据结构探险—队列篇

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

110046 学习 · 170 问题

查看课程

相似问题