京飞
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; }
入队:确定是先给队尾赋值吗?不是先给队尾++再赋值吗??求教
首先,要说应该是先给队尾赋值,再移动队尾指针,也就是说,队尾的位置此时应该是空的,以便后续有元素的入队。看你和楼上的对话中,发现你没弄清队尾的位置问题,一旦赋值完成,队尾指针就会移动,移到下一个位置,以便后续操作。再给你个小小的建议,类名、函数名首字母大写,变量小写,约定俗成的规定,毕竟程序是给程序员看的。希望可以帮到你(✿◡‿◡)
不出列的话队头还是0,队尾是3
数组创建的时候队首和队尾都指向数组的首元素了,先++再赋值队首不就为空了吗
数据结构探险—队列篇
110046 学习 · 170 问题
相似问题