數(shù)據(jù)結(jié)構(gòu)-隊列實現(xiàn)舞伴配對問題+_第1頁
數(shù)據(jù)結(jié)構(gòu)-隊列實現(xiàn)舞伴配對問題+_第2頁
數(shù)據(jù)結(jié)構(gòu)-隊列實現(xiàn)舞伴配對問題+_第3頁
數(shù)據(jù)結(jié)構(gòu)-隊列實現(xiàn)舞伴配對問題+_第4頁
數(shù)據(jù)結(jié)構(gòu)-隊列實現(xiàn)舞伴配對問題+_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、#iiiclude#iiiclude const bool TURE=1;const bool FAULT=0;using std:cout;using std:cm;using std:endl;class Node鏈?zhǔn)蕉褩5墓?jié)點類public:Node。;/構(gòu)造函數(shù)重載1Node(int, int, int .Node *);/構(gòu)造函數(shù)重載 2void const get_data(iiit &, mt &,int &)/取節(jié)點數(shù)據(jù) void put_data(iiit, int ,iiit);置節(jié)點數(shù)據(jù) bool put_next(Node *);/置節(jié)點的前驅(qū)節(jié)點域 bool put_

2、pnoi(Node *);置結(jié)點的后繼結(jié)點域 Node* const gecnext()coiist/取結(jié)點的前驅(qū)結(jié)點域 Node * const get_pnor()const;取結(jié)點的后繼結(jié)點域 private:Node *next;Node *pnor;mt niniute;mt second;mt num;Node:Node()niiiiute=NULL;second=NULL;num=0;next=NULL;pnor=NULL;Node:Node(iiit x, int y, int z .Node *p)niiiiute=x;second=v;num=z;next=NULL;pno

3、r=p;void const Node:get_data(int &x, int &y, hit &z)x=niuiute;y=second;z=num;void Node: :put_data(iiit x, int y, int z)niiiiute=x;secondly;num=z;bool Node: :put_next(Node *n)next=n;return TURE;bool Node:put_prior(Node *p)pnor=p;return TURE;Node* const Node:geCnextQ constreturn next;Node* const Node:

4、get_piiorQ constreturn prior;class Queue(public:Queue();堆棧類的構(gòu)造函數(shù)mt get_length(void);/ 取堆棧的長度bool push(int, int. mt);/數(shù)據(jù)壓棧bool pop(int &, mt & , mt &);數(shù)據(jù)出棧 void print(void);mt const seach(int);搜索堆棧數(shù)據(jù) protected:Node base;/根節(jié)點Node *top;/頂節(jié)點 mt lengtli;Queue: :Queue():base()/構(gòu)造函數(shù),數(shù)據(jù)初始化length=0;top=&base

5、;hit Queue:get_length(void)/取長度if(lengthput_next(temp);top=tenip;)else(return FAULT;)return TURE;bool Queue:pop(int &nimute, mt &second, mt &num)if(base. get_next()! =NULL)(length-;Node *temp=base.get_next();temp-geCdata(nmiute.second,num);if(temp-get_next() !=NULL)(Node *temp 1 =temp-get_next();tem

6、p 1 -put_piior(&base);base.put_next(templ);)else(top=&base;base.put_next(NULL);)delete temp:elsereturn FAULT;)return TURE;mt const Queue: :seach(int num)/IS索堆棧數(shù)據(jù)Node *temp;int x,y,z;temp=&base;wliile(temp !=NULL)(temp-get_data(x,y,z);if(x=num) leturn 1;temp=tenip-get_nextQ;return 0;void Queue:piint(

7、)/打印堆棧Node *temp;mt x,y,z,n=l;temp=base. get_nextQ;if(temp=NULL)coutH 數(shù)據(jù)為空 ”v vendl;wliile(temp !=NULL)(temp-get_data(x,y,z);if(y=l)coutnH:第,xM號人士 性別:男 跳舞次數(shù):”vvzvvendl; elsecoutn:第vvxvv”號人士 性別:女 跳舞次數(shù):zend; temp=tenip-get_nextQ; n+;)void ring_over(Queue &. Queue & Queue & Queue &);main()int sex,ii=0.

8、maii_num=0,woman_num=0,iiumber=0,degree5050=0,time=0,hm;Queue man.bufifei_man,woman,buffer_wonian;dosysteni(Mclsn);do(cout請輸入”n+ivv“號人物性別(1:男士 2:女士 0:輸入完畢)(總數(shù)不得超過 100)Hendl;cinsex;while(sex2);if(sex=l)(nian.push(n+1,sex,NULL);nian_num+;n+;)iRsex=2)(woman.push(n+1 ,sex,NULL);woman_num+4-;n+;if(sex=0)

9、(system(MclsH);coutn輸入結(jié)束,共有”vvwoman_mim+nian_mim=0&sex=2);system(HclsM);do(cout請輸入舞會輪數(shù):“vvendl;cinlun;while(lun0);while(timelun) for(;)if(woman.geclength()=0) nng_over(maii,woinan,buffer_nian,buffer_woman);time+;break;else if(nian.pop(nian_num,sex,numbei)=0)(nng_over(maii,woinan,buffer_nian,buffer_w

10、oman);time+;break;else(buflfei_nian.push(man_nunLsex.number+1);)if(woman.pop(woman_num,sex,numbei)bufifei_wonian.push(woman_num,sex,numbei+l);else(nng_over(maii,woinan,buffer_nian,buffer_woman);time+;break;degree nian_num woman_num+;system(Hclsn);coutH 第“vvhmvv” 舞會結(jié)束 Hendl;iiiig_ovei(man,woman.buflf

11、er_man,buffer_wonian);cout打印每人的跳舞總數(shù):,*endl;cout打印男士信息endl;maii.pnntQ;cout打印女士信息endl;woman, print。;do(cout,f請輸入甲得號碼”endl;cinnian_num; while(man. seach(nian_num)=O);do(coutM請輸入乙得號碼Hendl;c inwoman_num;while(wonian. seach(woinan_num)=0);coutM 第,nian-numH 號男 士 HH 和第 ”vvwoman_iiumvv” 號女士 共跳了 Mdegreemaivnum woman_numM 次舞 Hendl;return 0;void ring_over(Queue &man. Queue &woman.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論