已采納回答 / qq_谷是盛滿淚的眼_0
僅僅將元素賦值為0,0也是一個int 數值占據內存空間,并未起到清空隊列的作用。清空隊列的時候已經設置長度為零,再次插入數值的時候長度重新從零計數,插入5個長度增到5,不會出現再次讀取的時候長度還是10 的情況
2017-08-22
已采納回答 / ForLemon
????假設一種情況,一個m_iQueueCapacity=4的隊列,經過一系列入隊和出對操作,此時m_iHead=3,而m_tail=2,此時在3,0,1位置都有元素。????此時m_iQueueLen=3。如果是循環是for?(int?i?=?m_iHead;?i?<?m_iQueueLen ;?i++),循環次數m_iQueueLen-m_iHead=0,很明顯循環不能執行。因為我們要循環的次數是m_iQueueLen,也就是3。所以循環次數應該是(m_iQueueLen + m_iHead)...
2017-06-27
已采納回答 / 慕九州2325515
并不是c++ 使用const聲明表示不可一被修改,好像有點像 Java 中final也是不可以被修改,Java中static也是靜態變量的意思,static類型可以被修改,那幾個成員函數中之所以加了const修飾,是為了保護對象的數據不會被修改,在函數中只能讀取對象數據并不可以修改。
2017-04-19
已采納回答 / qq_超人_18
系統按順序應該先刪除customer的內存,然后再是p的內存。而customer的內存是棧實例化的,所以只有執行了return 0;后才會刪除。使用了delete p;會導致系統先刪除queue的內存,順序不對,所以執行出現問題。所以不能加delete p;在結束整個程序后就會自動刪除。我個人見解,刪除內存主要運用在一個程序沒有完結但一個類或函數已經完結的情況下,可以減少內存泄漏。如果整個程序都結束,就不存在內存泄漏的問題了。
2017-04-15
已采納回答 / yasinSun
在 ?DeQueue() 出隊 ? 函數部分有問題,判斷條件應該是寫錯了,應該是 ?if (Queueempty()) , 而不是if (Queuefull())?
2017-04-03
已采納回答 / 黃亞彬
因為必須保證這空、滿、長度是一個常量(只讀),否則的話調用者能修改這些值,導致整個程序錯亂,比如我們初始化一個長度為3的環形隊列,然后插入了3條數據(此時長度應該為3),如果沒有const關鍵字,我們可以手動去修改隊列的長度,這樣整個環形隊列就錯亂了,const的作用就是保證那些只讀的屬性,不能被認為修改,只能通過代碼邏輯修改回答完畢
2017-03-17
已采納回答 / Jathy
數據結構只是編程的一種編程設計,用什么語言都可以,所以要用什么軟件就要根據用什么語言。比如說Java用Eclipse;C++或C用VC或DevC++等軟件;Eclipse也可以進行C++/C編程希望能幫到你^.^
2016-12-18
已采納回答 / Ephraim
這個函數做到了兩個功能讓首元素出隊獲得出隊元素的值出隊這個好理解,第二個獲得首元素的值是我們加上去的,在實際應用中,目的是為了知道它出隊的元素值是多少。當然寫法有很多種,也可以以返回值的形式帶出,比如int DeQueue(void) {int element =m-iHead;.... //頭元素出隊return element;}這就像棧pop的時候,我們把棧中出棧的元素存到一個變量里,我們也會采取這種方式來獲得出棧元素,具體要不要這個功能,看我們了
2016-12-15