版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.-工業(yè)學(xué)院計(jì)算機(jī)工程系?數(shù)據(jù)結(jié)構(gòu)?實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱實(shí)驗(yàn)三、循環(huán)隊(duì)列的應(yīng)用與串的匹配操作實(shí)驗(yàn)時(shí)間學(xué)生班級(jí)學(xué)號(hào)指導(dǎo)教師批閱教師成績(jī)實(shí)驗(yàn)?zāi)康模?掌握循環(huán)隊(duì)列和串的基本原理 2掌握循環(huán)隊(duì)列和串的存儲(chǔ)結(jié)構(gòu) 3掌握循環(huán)隊(duì)列的入隊(duì)、出隊(duì)、判斷隊(duì)空的實(shí)現(xiàn)方法和串的匹配方法 4掌握循環(huán)隊(duì)列和串的基本應(yīng)用和實(shí)現(xiàn)方法實(shí)驗(yàn)設(shè)備與要求:PC機(jī)一臺(tái),安裝有Windows操作系統(tǒng)以及VC6.0及以上版本1熟悉C+語(yǔ)言編程 2熟練使用C+語(yǔ)言實(shí)現(xiàn)循環(huán)隊(duì)列的入隊(duì)、出隊(duì)、判斷棧空等操作,串的匹配操作 3熟練使用循環(huán)隊(duì)列的入隊(duì)、出隊(duì)算法,串的BF算法。實(shí)驗(yàn)容:1、舞伴配對(duì)問(wèn)題:假設(shè)在周末舞會(huì)上,男士們和女士們進(jìn)入舞廳時(shí),各自排成
2、一隊(duì)。跳舞開(kāi)始時(shí),依次從男隊(duì)和女隊(duì)的隊(duì)頭上各出一人配成舞伴。假設(shè)兩隊(duì)初始人數(shù)不相同,那么較長(zhǎng)的那一隊(duì)中未配對(duì)者,等待下一輪舞曲?,F(xiàn)要求寫(xiě)一算法模擬上述舞伴配對(duì)問(wèn)題。 2、用BF算法實(shí)現(xiàn)串S=abbacdbaafcefg,T=cdbaaf的匹配操作。實(shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果記錄:算法分析: 1、舞伴配對(duì)問(wèn)題:假設(shè)在周末舞會(huì)上,男士們和女士們進(jìn)入舞廳時(shí),各自排成一隊(duì)。跳舞開(kāi)始時(shí),依次從男隊(duì)和女隊(duì)的隊(duì)頭上各出一人配成舞伴。假設(shè)兩隊(duì)初始人數(shù)不相同,那么較長(zhǎng)的那一隊(duì)中未配對(duì)者,等待下一輪舞曲?,F(xiàn)要求寫(xiě)一算法模擬上述舞伴配對(duì)問(wèn)題。 2、用BF算法實(shí)現(xiàn)串S=abbacdbaafcefg,T=cdbaaf的匹配操作
3、。問(wèn)題分析:先入隊(duì)的男士或女士亦先出隊(duì)配成舞伴。因此該問(wèn)題具體有典型的先進(jìn)先出特性,可用隊(duì)列作為算法的數(shù)據(jù)結(jié)構(gòu)。在算法中,假設(shè)男士和女士的記錄存放在一個(gè)數(shù)組中作為輸入,然后依次掃描該數(shù)組的各元素,并根據(jù)性別來(lái)決定是進(jìn)入男隊(duì)還是女隊(duì)。當(dāng)這兩個(gè)隊(duì)列構(gòu)造完成之后,依次將兩隊(duì)當(dāng)前的隊(duì)頭元素出隊(duì)來(lái)配成舞伴,直至某隊(duì)列變空為止。此時(shí),假設(shè)某隊(duì)仍有等待配對(duì)者,算法輸出此隊(duì)列中等待者的人數(shù)及排在隊(duì)頭的等待者的名字,他或她將是下一輪舞曲開(kāi)始時(shí)第一個(gè)可獲得舞伴的人。偽代碼:輸入兩個(gè)隊(duì)列兩個(gè)隊(duì)列進(jìn)行入隊(duì)操作判斷隊(duì)列長(zhǎng)度兩個(gè)隊(duì)列進(jìn)行匹配出隊(duì)操作短隊(duì)列出對(duì)完成,長(zhǎng)隊(duì)列等待下一隊(duì)列的到來(lái)設(shè)Man對(duì)為ABCDEFGH,設(shè)W
4、oman隊(duì)為IJKLMN。當(dāng)Man隊(duì)列和Woman隊(duì)列都入隊(duì)完成之后,開(kāi)始配對(duì):IJKLMN此時(shí)Man隊(duì)列就還有兩個(gè)人沒(méi)有舞伴,等待下一輪Woman的隊(duì)列參照教材所列BF算法實(shí)現(xiàn),串S和T的匹配操作。1、在串S和串T中設(shè)比較的起始下標(biāo)i和j;2、循環(huán)直到S中所剩字符個(gè)數(shù)小于T的長(zhǎng)度或T的所有字符均比較完 2.1 如果Si=Tj,繼續(xù)比較S和T的下一個(gè)字符;否那么將i和j回溯,準(zhǔn)備下一趟比較;3、如果T中所有字符均比較完,那么匹配成功,返回匹配的起始比較下標(biāo); 否那么,匹配失敗,返回0; 4、S=abbacdbaafcefg,T=cdbaaf程序代碼1、舞伴配對(duì)問(wèn)題:頭文件:LinkQueue.
5、h#pragmaoncetemplate structNodeDataType data;Node * next;templateclassLinkQueuepublic:LinkQueue();LinkQueue();void EnQueue(DataType x);DataType DeQueue();DataType GetQueue();int getArrayLen(DataType Array);int Empty();private:Node * front, *rear;源文件:LinkQueue.cpp#includeLinkQueue.htemplateLinkQueue:
6、LinkQueue()Node *s = NULL;s = newNode;s-next = NULL;front = rear = s;templateLinkQueue:LinkQueue()Node *p = NULL;while (front != NULL)p = front-next;delete front;front = p;templatevoidLinkQueue:EnQueue(DataTypex)Node*s = NULL;s = newNode;s-data = x;s-next = NULL;rear-next = s;rear = s;templateDataTy
7、peLinkQueue:DeQueue()Node *p = NULL;int x;if (rear = front) throw下溢;p = front-next;x = p-data;front-next = p-next;if (p-next = NULL)rear = front;delete p;return x;templateDataTypeLinkQueue:GetQueue()if (front != rear)return front-next-data;elsereturnfalse;templateintLinkQueue:Empty()if (front = rear
8、)return 1;elsereturn 0;template /獲取數(shù)組長(zhǎng)度intLinkQueue:getArrayLen(DataTypearray)return (sizeof(array) / sizeof(array0)-1);源文件:LinkQueue_main.cpp#include#includeLinkQueue.cppusingnamespace std;/334a6c1d5e27c49d 543b75adbb34afc0int main() LinkQueue Q1;LinkQueue Q2;char Man100;char Woman100;int length1,
9、length2;cout Man;cout Woman;cout endl;length1 = strlen(Man); /獲取Man數(shù)組的長(zhǎng)度length2 = strlen(Woman); /獲取Woman數(shù)組的長(zhǎng)度cout 男士人數(shù): length1 女士人數(shù):length2 endl;cout endl;for (int i = 0; i length1; i+) /對(duì)Man數(shù)組進(jìn)行入隊(duì)操作Q1.EnQueue(Mani);for (int i = 0; i length2; i+) /對(duì)Woman進(jìn)行入隊(duì)操作Q2.EnQueue(Womani);if (length1 = lengt
10、h2) /當(dāng)男士人數(shù)小于女士人數(shù)時(shí),先開(kāi)始男士的配對(duì),剩余女士進(jìn)行下一組配對(duì)cout 配對(duì)開(kāi)始!男士在前 endl;cout 女士 男士 endl;for (int i = 0; i length1; i+)cout Q1.GetQueue() - Q2.GetQueue() endl;Q1.DeQueue();Q2.DeQueue();if (length1 != length2)cout 還有以下幾位女士等待下一組: endl;for (int i = length1; i length2; i+)cout Q2.GetQueue() ;Q2.DeQueue();cout endl;els
11、eif (length2 = length1) /當(dāng)女士人數(shù)小于男士人數(shù)時(shí),先開(kāi)始女士的配對(duì),剩余男士進(jìn)行下一組配對(duì)cout 配對(duì)開(kāi)始!女士在前 endl;cout 女士 男士 endl;for (int i = 0; i length2; i+)cout Q2.GetQueue() - Q1.GetQueue() endl;Q1.DeQueue();Q2.DeQueue();if (length1 != length2)cout 還有以下幾位男士等待下一組: endl;for (int i = length2; i length1; i+)cout Q1.GetQueue() ;Q1.DeQ
12、ueue();cout endl;return 0;程序代碼2、BF算法:#includeusingnamespace std;int main()char S = abbacdbaafcefg;char T = cdbaaf;cout 串S: Sendl;cout 串T: Tendl;cout 開(kāi)始匹配! endl;int i = 0, j = 0;while (Si != 0) & (Tj != 0)if (Si = Tj)i+;j+;elsei = i - j + 1;j = 0;if (Tj = 0)cout 匹配成功! endl;cout T開(kāi)始匹配S位置: i - j + 1 endl;elsecout 匹配失??! endl;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《醫(yī)用治療儀器》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025安徽省安全員-C證考試(專(zhuān)職安全員)題庫(kù)及答案
- 2025江蘇省建筑安全員B證考試題庫(kù)及答案
- 貴陽(yáng)人文科技學(xué)院《中國(guó)古代文學(xué)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025遼寧省建筑安全員《B證》考試題庫(kù)
- 2025湖南省安全員知識(shí)題庫(kù)及答案
- 2025四川建筑安全員B證考試題庫(kù)
- 2025重慶市建筑安全員C證(專(zhuān)職安全員)考試題庫(kù)
- 2025甘肅省建筑安全員知識(shí)題庫(kù)
- 2025年海南建筑安全員C證(專(zhuān)職安全員)考試題庫(kù)
- 期末試卷(試題)2024-2025學(xué)年培智生活語(yǔ)文二年級(jí)上冊(cè)
- 2024秋期國(guó)家開(kāi)放大學(xué)本科《中國(guó)當(dāng)代文學(xué)專(zhuān)題》一平臺(tái)在線形考(形考任務(wù)一至六)試題及答案
- 期末(試題)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024伊利在線測(cè)評(píng)題
- 安徽省A10聯(lián)盟2025屆高二上數(shù)學(xué)期末考試試題含解析
- 紅色簡(jiǎn)約中國(guó)英雄人物李大釗課件
- 小學(xué)師德考評(píng)細(xì)則
- 軟件定義網(wǎng)絡(luò)(SDN)實(shí)戰(zhàn)教程課件
- 上海市住院醫(yī)師規(guī)范化培訓(xùn)公共科目考試題庫(kù)-重點(diǎn)傳染病防治知識(shí)
- 人民日?qǐng)?bào)出版社有限責(zé)任公司招聘筆試題庫(kù)2024
- 燃燒仿真.燃燒數(shù)值模擬方法:化學(xué)反應(yīng)動(dòng)力學(xué)模型:燃燒仿真前沿技術(shù)與研究
評(píng)論
0/150
提交評(píng)論