已采納回答 / Jathy
數(shù)據(jù)結(jié)構(gòu)只是編程的一種編程設(shè)計,用什么語言都可以,所以要用什么軟件就要根據(jù)用什么語言。比如說Java用Eclipse;C++或C用VC或DevC++等軟件;Eclipse也可以進(jìn)行C++/C編程希望能幫到你^.^
2016-12-18
已采納回答 / Ephraim
這個函數(shù)做到了兩個功能讓首元素出隊獲得出隊元素的值出隊這個好理解,第二個獲得首元素的值是我們加上去的,在實際應(yīng)用中,目的是為了知道它出隊的元素值是多少。當(dāng)然寫法有很多種,也可以以返回值的形式帶出,比如int DeQueue(void) {int element =m-iHead;.... //頭元素出隊return element;}這就像棧pop的時候,我們把棧中出棧的元素存到一個變量里,我們也會采取這種方式來獲得出棧元素,具體要不要這個功能,看我們了
2016-12-15
最贊回答 / Ephraim
這種插入方法 tail指向第四個格子的時候,隊列不是滿的這是環(huán)形隊列的一個特點,區(qū)別在于是queue[i++]還是queue[++i]假如說一開始空隊的時候i是-1 ?那么入隊顯然要queue[(++i)%capacity],出隊要queue[(i++)%capacity]假如說一開始空隊的時候i是0, ?那么入隊顯然要queue[(i++)%capacity],出隊是先讓i-1 再queue[i%capacity]這兩種定義的方法都可以,差別是只是個人習(xí)慣在James老師的實例中,他采用的是第一種方法,...
2016-12-15
最新回答 / 慕碼人6231979
糾結(jié)了一陣,終于在評論區(qū)看到有人提出來了,那個iqueuelen和m_ihead一個是索引一個是長度,怎么能放一起,感謝一樓
2016-12-01
已采納回答 / Object_is_null
析構(gòu)函數(shù)中應(yīng)該是delete []?m_pQueue;QueueTraverse() 中循環(huán)結(jié)束條件應(yīng)該是i<m_iHead+m_iQueueLenMyQueue.h頭文件中多出了一個#endif // _DEBUG#ifndef 和?#endif 是一一對應(yīng)的,條件編譯。
2016-11-24
已采納回答 / 黑巫師0
不引用的話,形參element就是一個臨時變量,和傳入的實參不是一個東西,它是存儲在??臻g中的,當(dāng)函數(shù)執(zhí)行完成后將自動釋放。導(dǎo)致的結(jié)果就是沒有將出隊的元素賦給實參element,而是賦給了那個臨時變量element,隨著函數(shù)執(zhí)行完成也就一起消失了。并不能由實參element帶回出隊元素,出隊也就失去了意義。
2016-11-24
已采納回答 / 慕姐7449621
因為在這個隊列中操作的是 顧客 這個類的對象,隊列的每一個元素都是顧客,在使用 MyQueue *p=MyQueue(4)新建一個容量為4隊列時,必須要在堆中申請一個對象數(shù)組的內(nèi)存,也就是 ?m_pQueue=new Customer[4],指向一個對象數(shù)組的指針必須是對象指針,所以要將 ?int *m_pQueue改為 ?Customer *m_pQueue
2016-11-18