數(shù)據(jù)結(jié)構(gòu)實驗報告《三、串及其應(yīng)用》_第1頁
數(shù)據(jù)結(jié)構(gòu)實驗報告《三、串及其應(yīng)用》_第2頁
數(shù)據(jù)結(jié)構(gòu)實驗報告《三、串及其應(yīng)用》_第3頁
數(shù)據(jù)結(jié)構(gòu)實驗報告《三、串及其應(yīng)用》_第4頁
數(shù)據(jù)結(jié)構(gòu)實驗報告《三、串及其應(yīng)用》_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

第5頁共5頁數(shù)據(jù)構(gòu)造實驗報告《三、串及其應(yīng)用》數(shù)據(jù)構(gòu)造實驗報告----串及其應(yīng)用之文學(xué)研究助手專業(yè)班級:電信班時間:2022年X月X日數(shù)據(jù)構(gòu)造實驗報告----串及其應(yīng)用之文學(xué)研究助手【問題描繪】文學(xué)研究人員需要統(tǒng)計某篇英文小說中某些單詞〔特別是形容詞〕的出現(xiàn)次數(shù)和位置,甚至連數(shù)字和標(biāo)點符號的個數(shù)也可以統(tǒng)計。試寫一個實現(xiàn)這一目的的文字統(tǒng)計系統(tǒng),稱為“文學(xué)研究助手”?!靖疽蟆?、輸入一頁文字,靜態(tài)存儲一頁文章,每行最多不超過80個字符,共N行;2、分別統(tǒng)計出其中英文字母數(shù)、空格數(shù)、標(biāo)點符號及整篇文章總字?jǐn)?shù);3、統(tǒng)計某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);4、刪除某一子串,并將后面的字符前移?!具\用拓展】1、保存輸入文章到本地text文本中;2、形式匹配基于KMP算法;3、仿真友好界面顯示:〔1〕、要求用菜單項選擇擇操作,分別用幾個子函數(shù)實現(xiàn)相應(yīng)的功能;〔2〕、輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點符號?!?〕、輸出形式:1〕、分行輸出用戶輸入的各行字符;2〕、分5行輸出“全部字母數(shù)“、“數(shù)字個數(shù)“、“空格個數(shù)“、“標(biāo)點符號個數(shù)”“文章總字?jǐn)?shù)“;3〕、輸出刪除某一字符串后的文章?!旧婕暗闹R點】鏈串的插入,刪除,查找,形式匹配〔knp算法〕及文件的寫入與寫出,用switch,case語句進(jìn)展菜單的選擇,用while語句進(jìn)展循環(huán),用if語句進(jìn)展條件的判斷等等?!驹O(shè)計思路】、總體思路:本文采用鏈?zhǔn)酱鎯ψ址湸牟迦氩捎煤蟛宸?,以?’為字符串完畢的標(biāo)志。在插入字符串的同時用文件存儲字符串。、刪除算法的根本思路:輸入要刪除的字符串,同樣以‘#’完畢,然后在文中查找該字符串,假設(shè)找到了那么把它刪除,同時長度要減少;否那么,沒找到不能刪除。查找算法與刪除算法類似;但也有不同之處,不同在于:這里是要查找某字符串在文中出現(xiàn)的次數(shù),因此,當(dāng)找到該字符串后還要繼續(xù)往后查找,并將次數(shù)加1;直到文章的末尾才完畢查找。、用菜單做選擇:用switch,case語句進(jìn)展選擇判斷,并用類的對象調(diào)用類的成員函數(shù)以實現(xiàn)特定的功能。由于采用鏈?zhǔn)酱鎯ψ址?,它是按一個一個的字符進(jìn)展存儲的,當(dāng)遇到空隔和換行符時它會忽略不計。為理解決這一問題,本文采用交換的方法——當(dāng)要輸入空格時就輸入‘:’,當(dāng)要輸入換行符時就輸入’\\’,在輸出時,遇到‘:’就輸出空格,遇到‘\\’就輸出換行符。、功能設(shè)計根據(jù)提示選擇是否開場yn選擇操作退出調(diào)用相應(yīng)函數(shù)是否繼續(xù)?、詳細(xì)設(shè)計Linklist類中有一個保護(hù)成員head〔指針類型〕;公有成員中包含一個整型變量len,用于計算字符串的長度;另外還包含5個子函數(shù),分別是:1,voidrcreat函數(shù),用尾插法建立鏈串,并將字符串存入文件,遇到#時完畢;2,voidprint(link*head)函數(shù),用于輸出鏈串,當(dāng)遇到的字符為冒號〔:〕時輸出空格,當(dāng)遇到的字符為〔\\〕時輸出換行,當(dāng)遇到的字符大于等于48并且小于等于57時,數(shù)字個數(shù)加1,當(dāng)遇到的字符為標(biāo)點符號時,相應(yīng)的標(biāo)點符號數(shù)加1,并輸出;判斷完后指針后移。3,voiddeletel(link*head,link*head2)為刪除字符串的函數(shù),其中head是指向輸入的文章的第一個字符,head2是指向要刪除的字符串的第一個字符,采用形式匹配的算法進(jìn)展查找,假設(shè)在文中找到了一個字符與要刪除的第一個字符一樣,那么指針分別往后移,假設(shè)文中的下一個字符與第二個字符不一樣,那么繼續(xù)找文中的下一個字符與要刪除的字符從第一個字符開場從新匹配,直到要刪除的字符都匹配完;找到了要刪除的字符串在文中的位置后,將文中與這串字符匹配的第一個字符開場到最后一個匹配的這段字符刪除;假設(shè)沒有找到該字符串那么不能刪除。4,voidprint2(link*head2)函數(shù),輸出要刪除的字符串,其中,head2指向要刪除的字符串的第一個字符。5,void*found(link*head,link*head2)函數(shù)用于查找字符串在文中出現(xiàn)的次數(shù);設(shè)置一個整型變量num,用于統(tǒng)計出

溫馨提示

  • 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

提交評論