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

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

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 回答

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

0 回复 有任何疑惑可以回复我~

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

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

京飞 提问者

那如果在入队,他是先给队尾赋值,此时队尾是3的位置,那3的位置不是被刚入队的值覆盖了吗?我就是这里没看懂
2017-04-30 回复 有任何疑惑可以回复我~
#2

qq_天空当被子_0 回复 京飞 提问者

不懂你的意思
2017-05-01 回复 有任何疑惑可以回复我~

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

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

京飞 提问者

一个环形队列4的容量,0.1.2中有值,哪它的队头队位是多少?
2017-04-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
数据结构探险—队列篇
  • 参与学习       109940    人
  • 解答问题       170    个

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

进入课程

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

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