已采納回答 / 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
最贊回答 / Ephraim
這種插入方法 tail指向第四個格子的時候,隊列不是滿的這是環形隊列的一個特點,區別在于是queue[i++]還是queue[++i]假如說一開始空隊的時候i是-1 ?那么入隊顯然要queue[(++i)%capacity],出隊要queue[(i++)%capacity]假如說一開始空隊的時候i是0, ?那么入隊顯然要queue[(i++)%capacity],出隊是先讓i-1 再queue[i%capacity]這兩種定義的方法都可以,差別是只是個人習慣在James老師的實例中,他采用的是第一種方法,...
2016-12-15
已采納回答 / Object_is_null
析構函數中應該是delete []?m_pQueue;QueueTraverse() 中循環結束條件應該是i<m_iHead+m_iQueueLenMyQueue.h頭文件中多出了一個#endif // _DEBUG#ifndef 和?#endif 是一一對應的,條件編譯。
2016-11-24
已采納回答 / 黑巫師0
不引用的話,形參element就是一個臨時變量,和傳入的實參不是一個東西,它是存儲在??臻g中的,當函數執行完成后將自動釋放。導致的結果就是沒有將出隊的元素賦給實參element,而是賦給了那個臨時變量element,隨著函數執行完成也就一起消失了。并不能由實參element帶回出隊元素,出隊也就失去了意義。
2016-11-24
已采納回答 / 慕姐7449621
因為在這個隊列中操作的是 顧客 這個類的對象,隊列的每一個元素都是顧客,在使用 MyQueue *p=MyQueue(4)新建一個容量為4隊列時,必須要在堆中申請一個對象數組的內存,也就是 ?m_pQueue=new Customer[4],指向一個對象數組的指針必須是對象指針,所以要將 ?int *m_pQueue改為 ?Customer *m_pQueue
2016-11-18