欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

《數(shù)據(jù)結構題集》參考答案4串

上傳人:xt****7 文檔編號:91216607 上傳時間:2022-05-16 格式:DOC 頁數(shù):6 大?。?5.50KB
收藏 版權申訴 舉報 下載
《數(shù)據(jù)結構題集》參考答案4串_第1頁
第1頁 / 共6頁
《數(shù)據(jù)結構題集》參考答案4串_第2頁
第2頁 / 共6頁
《數(shù)據(jù)結構題集》參考答案4串_第3頁
第3頁 / 共6頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《數(shù)據(jù)結構題集》參考答案4串》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)結構題集》參考答案4串(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、③ 編寫對串求逆的遞推算法。 要求實現(xiàn)以下函數(shù): void Reverse(StringType &s); /* Reverse s by iteration. */ StringType是串的一個抽象數(shù)據(jù)類型,它包含以下6種基本操作: void InitStr(StringType &s); // 初始化s為空串。 void StrAssign(StringType &t, StringType s); // 將s的值賦給t。s的實際參數(shù)是串變量。 int StrCompare(StringType s, StringType t); // 比較s和

2、t。若s>t,返回值>0;若s=t,返回值=0;若s

3、長度為len的子串,否則返回空串。 // 注意,不要使用 " s = " 的形式為 StringType 類型的變量賦值 , // 而要使用 StrAssign 函數(shù)!!! void Reverse(StringType &s) /* Reverse s by iteration. */ { int i=0,j=StrLength(s)-1; char temp; while(i<=j) { temp=s[i]; s[i]=s[j]; s[j]=temp; i++;j--;

4、 } } ③ 編寫算法,從串s中刪除所有和串t相同的子串。 要求實現(xiàn)以下函數(shù): void DelSubString(StringType &scrStr, StringType subStr); /* Remove all substring matching 'subStr' from 'scrStr'. */ StringType是串的一個抽象數(shù)據(jù)類型,它包含以下6種基本操作: void InitStr(StringType &s); // 初始化s為空串。 void StrAssign(StringType &t, St

5、ringType s); // 將s的值賦給t。s的實際參數(shù)是串變量。 int StrCompare(StringType s, StringType t); // 比較s和t。若s>t,返回值>0;若s=t,返回值=0;若s

6、, int len); // 當1<=start<=StrLength(s)且0<=len<=StrLength(s)- start+1時, // 返回s中第start個字符起長度為len的子串,否則返回空串。 // 注意,不要使用 " s = " 的形式為 StringType 類型的變量賦值 , // 而要使用 StrAssign 函數(shù)!!! void DelSubString(StringType &scrStr, StringType subStr) /* Remove all substring matching 'subStr' from 'scrS

7、tr'. */ { StringType head,tail,S; int i; InitStr(head); InitStr(tail); for(i=1;i<=StrLength(scrStr)-StrLength(subStr)+1;i++) if(!StrCompare(SubString(scrStr,i,StrLength(subStr)),subStr)) { StrAssign(head,SubString(scrStr,1,i-1)); StrAssign(tail

8、,SubString(scrStr,i+StrLength(subStr),StrLength(scrStr)-i-StrLength(subStr)+1)); StrAssign(scrStr,Concat(head,tail)); i--; } } ③ 編寫算法,實現(xiàn)串的基本操作Replace(&S,T,V)。 要求采用教科書節(jié)中所定義的定長順序存儲表示, 但不允許調(diào)用串的基本操作。 要求實現(xiàn)以下函數(shù): Status Replace(SString& s, SString t, SString v)

9、; /* 用串v替換串s中所有和串t匹配的子串。 */ /* 若有與t匹配的子串被替換,則返回TRUE;*/ /* 否則返回FALSE */ 定長順序串SString的類型定義: typedef unsigned char SString[MAXSTRLEN+1]; /* s[0] is the string's length */ 注:這題在Status Replace(SString& s, SString t, SString v)函數(shù)前要寫一個int Index(SString s, SString t,int

10、pos )的函數(shù)。如下: int Index(SString s, SString t,int pos ) { int i = pos; int j = 1; while( i<= s[0]&&j<=t[0]) { if( s[i] == t[j] ){ ++i; ++j; } else{i= i-j+2;j=1;} } if( j > t[0] ) return i - t[0]; else return 0; } Status Replace(SString& s,

11、SString t, SString v) /* 用串v替換串s中所有和串t匹配的子串。 */ /* 若有與t匹配的子串被替換,則返回TRUE;*/ /* 否則返回FALSE */ { int flag = 0; int i,j,w,r; SString s1; for( i = 0; i <= s[0]; i++ ) s1[i] = s[i]; for( i = 1, j = 1; i <= s1[0]; ) { w = Index( s1

12、, t, i); if( !w ) { while( i <= s1[0] ) s[j++] = s1[i++]; } else { while( i < w ) s[j++] = s1[i++]; for( r = 1; r <= v[0]; r++ ) s[j++] = v[r]; flag++

13、; i += t[0]; } } s[0] = --j; if( flag ) return TRUE; return FALSE; } ③ 編寫算法,從串s中刪除所有和串t相同的子串。 要求實現(xiàn)以下函數(shù): Status DelSub(SString &s, SString t); /* 從串s中刪除所有和串t匹配的子串。 */ /* 若有與t匹配的子串被刪除,則返回TRUE;*/ /* 否則返回FALSE

14、 */ 定長順序串SString的類型定義: typedef unsigned char SString[MAXSTRLEN+1]; /* s[0] is the string's length */ 注:這題在Status DelSub(SString &s, SString t)函數(shù)前要寫一個int Index(SString s, SString t,int pos )的函數(shù)。如下: int Index(SString s, SString t,int pos ) { int i = pos; int j = 1;

15、 while( i<= s[0]&&j<=t[0]) { if( s[i] == t[j] ){ ++i; ++j; } else{i= i-j+2;j=1;} } if( j > t[0] ) return i - t[0]; else return 0; } Status DelSub(SString &s, SString t) /* 從串s中刪除所有和串t匹配的子串。 */ /* 若有與t匹配的子串被刪除,則返回TRUE;*/ /* 否則返回FALSE

16、 */ { int flag = 0; int i,j,w; for( i = 1, j = 1; i <= s[0]; ) { w = Index( s, t, i); if( !w ) { while( i <= s[0] ) s[j++] = s[i++]; } else { while( i < w )

17、 s[j++] = s[i++]; flag++; i += t[0]; } } s[0] = --j; if( flag ) return TRUE; return FALSE; } ⑤ 假設以定長順序存儲結構表示串,試設計 一個算法,求串s中出現(xiàn)的第一個最長重復子串及 其位置,并分析你的算法的時間復雜度。 要求實現(xiàn)以下函數(shù): void CommonS

18、tr(SString s, SString &sub, int &loc); /* 求串s中出現(xiàn)的第一個最長重復子串sub及其位置loc */ 定長順序串SString的類型定義: typedef unsigned char SString[MAXSTRLEN+1]; /* s[0] is the string's length */ void CommonStr(SString s, SString &sub, int &loc) /* 求串s中出現(xiàn)的第一個最長重復子串sub及其位置loc */ { int index=0,length=0,lengt

19、h1,i=0,j,k; while(i=length) { index=i; length=length1; } j=j+length1; } else j++; } i++; } loc=index; sub[0]=length; }

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!