數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題

數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題

ID:38706124

大?。?9.50 KB

頁數(shù):4頁

時(shí)間:2019-06-17

數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題_第1頁
數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題_第2頁
數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題_第3頁
數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題_第4頁
資源描述:

《數(shù)據(jù)結(jié)構(gòu)(C++語言)---舞伴問題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、問題敘述:在一個(gè)舞會(huì)上,男士們和女士們進(jìn)入舞廳,各自排成一隊(duì)。跳舞開始時(shí),依次從男隊(duì)和女隊(duì)的隊(duì)列頭上各出一個(gè)人進(jìn)行配對(duì)。若兩隊(duì)初始人數(shù)不同,則較長的那一隊(duì)中未配對(duì)者等待下一輪舞曲。先入隊(duì)的男士或女士先出隊(duì)配成舞伴,因此該問題是具有先進(jìn)先出的特性,可以用隊(duì)列作為算法的數(shù)據(jù)結(jié)構(gòu)。在算法中,假設(shè)男士和女士的記錄存放在一個(gè)數(shù)組中作為輸入,然后依次掃描該數(shù)組的各元素,并根據(jù)性別來決定是進(jìn)入男隊(duì)還是女隊(duì)。當(dāng)這兩個(gè)隊(duì)列構(gòu)造完成之后,依次將兩對(duì)當(dāng)前的隊(duì)頭元素出隊(duì)來配成舞伴,直至某隊(duì)列變空為止。此時(shí),若某隊(duì)列仍有等待配對(duì)者,算法輸出此隊(duì)列中等待者的人數(shù)及排在隊(duì)頭的等待者的名字,他(或她)將是下一輪舞曲開始時(shí)

2、第一個(gè)可獲得舞伴的人。具體代碼如下:#include#includeusingnamespacestd;templateclassCirQueue{private:T*q;intfront;intrear;intmaxSize;public:CirQueue(intm);~CirQueue();voidEnQueue(Tx);TDeQueue();TGetHead();TGetLast();TInitQueue();intIsEmpty();intIsFull();voidClear();};templateCirQue

3、ue::CirQueue(intm){q=newT[m];maxSize=m;front=rear=0;}templateCirQueue::~CirQueue(){delete[]q;front=rear=0;maxSize=0;}templatevoidCirQueue::EnQueue(Tx){if((rear+1)%maxSize==front)cout<<"Full"<TCirQueue::DeQueue(){Tx;

4、if(front==rear)cout<<"下溢"<TCirQueue::GetHead(){Tx;if(front==rear)cout<<"隊(duì)空,無隊(duì)頂元素"<TCirQueue::GetLast(){Tx;if(rear==front)cout<<"隊(duì)空,無隊(duì)尾元素"<intCi

5、rQueue::IsEmpty(){if(rear==front)return1;elsereturn0;}templateintCirQueue::IsFull(){if((rear+1)%maxSize==front)return1;elsereturn0;}structdancer{charname[20];charsex;};intmain(){cout<<"請(qǐng)輸入舞伴總數(shù)量"<mdancer(10);CirQueuefdancer(10);ifstreamin("source.txt");wh

6、ile(!in.eof()){cout<<"請(qǐng)輸入舞者性別(f(女)orm(男))及姓名"<>temp.sex;in>>temp.name;if(temp.sex=='f'){fdancer.EnQueue(temp);}else{mdancer.EnQueue(temp);}}while((!mdancer.IsEmpty())&&!(fdancer.IsEmpty())){cout<

7、){cout<

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。