為什么我的刪除值總是第一個(gè)
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;
? ? ? ? }
? ? }
不可以顯示正確的所要?jiǎng)h除的數(shù),但是可以實(shí)現(xiàn)刪除操作
10下邊的數(shù)字不應(yīng)該是輸出20嗎?
2018-03-13
你執(zhí)行出隊(duì)操作,應(yīng)該是對(duì)隊(duì)列頭進(jìn)行操作對(duì)吧,因?yàn)殛?duì)列是FIFO模型,但是你的代碼中為什么寫成了Elem=m_Queue[m_Tail];這是將隊(duì)尾,要入隊(duì)的元素賦值給ele?
2017-04-18
else 下面的這行應(yīng)該是Elem=m_Queue[m_Head];
2017-04-02
?m_Head=m_Head%m_QueueCapacty+?m_Head;