入隊與出隊,感覺有問題啊?
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; }
入隊:確定是先給隊尾賦值嗎?不是先給隊尾++再賦值嗎??求教
2018-03-13
首先,要說應該是先給隊尾賦值,再移動隊尾指針,也就是說,隊尾的位置此時應該是空的,以便后續有元素的入隊。看你和樓上的對話中,發現你沒弄清隊尾的位置問題,一旦賦值完成,隊尾指針就會移動,移到下一個位置,以便后續操作。再給你個小小的建議,類名、函數名首字母大寫,變量小寫,約定俗成的規定,畢竟程序是給程序員看的。希望可以幫到你(????)
2017-04-29
不出列的話隊頭還是0,隊尾是3
2017-04-27
數組創建的時候隊首和隊尾都指向數組的首元素了,先++再賦值隊首不就為空了嗎