授課題目隊(duì)列的應(yīng)用——舞伴配對(duì)問(wèn)題授課類(lèi)型課首次授課_第1頁(yè)
授課題目隊(duì)列的應(yīng)用——舞伴配對(duì)問(wèn)題授課類(lèi)型課首次授課_第2頁(yè)
授課題目隊(duì)列的應(yīng)用——舞伴配對(duì)問(wèn)題授課類(lèi)型課首次授課_第3頁(yè)
授課題目隊(duì)列的應(yīng)用——舞伴配對(duì)問(wèn)題授課類(lèi)型課首次授課_第4頁(yè)
授課題目隊(duì)列的應(yīng)用——舞伴配對(duì)問(wèn)題授課類(lèi)型課首次授課_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、授課題目隊(duì)列的應(yīng)用一一舞伴配對(duì)問(wèn)題授課類(lèi)型實(shí)驗(yàn)課首次授課時(shí)間2021年9月30日學(xué)時(shí)2教學(xué)目標(biāo)1 .掌握隊(duì)列的類(lèi)型定義方法;2 .理解和掌握循環(huán)隊(duì)列解決假溢出的方法,并能靈活運(yùn)用隊(duì)列知識(shí)對(duì)現(xiàn)實(shí)生活中的實(shí)際問(wèn)題提出解決方案.重點(diǎn)與難點(diǎn)循環(huán)隊(duì)列判斷隊(duì)滿和隊(duì)空的條件以及循環(huán)隊(duì)列的應(yīng)用教學(xué)手段與方法上機(jī)編程、調(diào)試并進(jìn)行驗(yàn)證教學(xué)過(guò)程:包括授課思路、過(guò)程設(shè)計(jì)、講解要點(diǎn)及各局部具體內(nèi)容、時(shí)間分配等實(shí)驗(yàn)內(nèi)容:利用循環(huán)隊(duì)列模擬舞伴配對(duì)問(wèn)題:在舞會(huì)上,男、女各自排成一隊(duì).舞會(huì)開(kāi)始時(shí).依次從男隊(duì)和女隊(duì)的隊(duì)頭各出一人配成舞伴.如果兩隊(duì)初始人數(shù)不等,那么較長(zhǎng)的那一隊(duì)中未配對(duì)者等待下一輪舞曲.要求:a.假設(shè)初始男、女人數(shù)

2、及性別已經(jīng)固定,舞會(huì)的輪數(shù)從鍵盤(pán)輸入,試模擬解決上述舞伴配對(duì)問(wèn)題.b.從屏幕輸出每一輪舞伴配對(duì)名單,如果在該輪有未配對(duì)的,能夠從屏幕顯示下一輪第一個(gè)出場(chǎng)的未配對(duì)者的姓名.編程思路:首先建立循環(huán)隊(duì)列的存儲(chǔ)結(jié)構(gòu),為了區(qū)分男女隊(duì),需要設(shè)置兩個(gè)循環(huán)隊(duì)列,隊(duì)列中元素的數(shù)據(jù)類(lèi)型分別為字符型和整型,然后設(shè)計(jì)如下函數(shù):ManQueue(Q)和WomanQueue(Q)(建立男人和女人隊(duì)列)以及PeiDui(Q1,Q2)(舞伴配對(duì)),程序描述如下:#include<stdio.h>#include<stdlib.h>#defineMAXQSIZE50typedefstructchar*b

3、ase;intfront;intrear;ManQueue;typedefstructint*base;intfront;intrear;WomanQueue;voidInitManQueue(ManQueue&M,intm)(M.base=(char*)malloc(MAXQSIZE*sizeof(char);if(!M.base)exit(0);M.front=M.rear=0;inti;printf("請(qǐng)輸入外不同的字母代表?yè)洳煌哪猩彰鹡",m,m);for(i=0;i<m;i+)(scanf("%c,&M.basei);getch

4、ar();M.rear=i;if(M.rear+1)%MAXQSIZE=M.front)exit(0);voidInitWomanQueue(WomanQueue&W,intw)W.base=(int*)malloc(MAXQSIZE*sizeof(int);if(!W.base)exit(0);W.front=W.rear=0;inti;printf("請(qǐng)輸入外不同的數(shù)字代表?yè)洳煌呐彰鹡",w,w);for(i=0;i<w;i+)scanf("%d,&W.basei);getchar();W.rear=i;if(W.rear+1)%M

5、AXQSIZE=W.front)exit(0);voidPeiDui(ManQueue&M,WomanQueue&W,intm,intw,intx)inti;if(m<w)for(i=1;i<=x;i+)printf"第晚中男女配對(duì)名單如下:n",i;M.front=0;while(M.front<M.rear)(if(W.front=W.rear)W.front=0;printf("%c與dn",M.baseM.front,W.baseW.front);M.front+;W.front+;if(W.front=W.re

6、ar)W.front=0;printf("下輪中第一個(gè)出場(chǎng)未配對(duì)者是:%dn",W.baseW.front);elsefor(i=1;i<=x;i+)(printf("第晚中男女配對(duì)名單如下:n",i);W.front=0;while(W.front<W.rear)(if(M.front=M.rear)M.front=0;printf("%c與dn",M.baseM.front,W.baseW.front);M.front+;W.front+;)if(M.front=M.rear)M.front=0;printf(&quo

7、t;下輪中第一個(gè)出場(chǎng)未配對(duì)者是:%cn",M.baseM.front);)voidmain()ManQueueM;WomanQueueW;intw,m,x;printf("請(qǐng)分別輸入男生和女生人數(shù)m和w的值n");scanf("%d%d",&m,&w);/注意輸入數(shù)據(jù)完后把回車(chē)符賦值給getchar,預(yù)防在接下的/輸入中出現(xiàn)錯(cuò)誤的賦值!getchar();InitManQueue(M,m);InitWomanQueue(W,w);printf("請(qǐng)輸入要舞蹈的輪數(shù)x的值n");scanf("%d",&x);PeiDui(M,W,m,w,x);那么運(yùn)行結(jié)果如下圖:SJfAFrogramFilesMicrosoftVisual5tudioM-JOX請(qǐng)分別輸入男生和女生人數(shù)描加的值請(qǐng)輸入2個(gè)不同的字母代表2

溫馨提示

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

評(píng)論

0/150

提交評(píng)論