歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《數(shù)據(jù)結(jié)構(gòu)題集》參考答案4串

  • 資源ID:91216607       資源大?。?span id="ugqqace" class="font-tahoma">25.50KB        全文頁數(shù):6頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《數(shù)據(jù)結(jié)構(gòu)題集》參考答案4串

編寫對串求逆的遞推算法。要求實現(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和t。若s>t,返回值>0;若s=t,返回值=0;若s<t,返回值<0。int StrLength(StringType s); / 返回s中的元素個數(shù),即該串的長度。StringType Concat(StringType &s, StringType t); / 返回由s和t聯(lián)接而成的新串。StringType SubString(StringType s, int start, int len); / 當(dāng)1<=start<=StrLength(s)且0<=len<=StrLength(s)- start+1時, / 返回s中第start個字符起長度為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=si; si=sj; sj=temp; i+;j-; 編寫算法,從串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, StringType s); / 將s的值賦給t。s的實際參數(shù)是串變量。int StrCompare(StringType s, StringType t); / 比較s和t。若s>t,返回值>0;若s=t,返回值=0;若s<t,返回值<0。int StrLength(StringType s); / 返回s中的元素個數(shù),即該串的長度。StringType Concat(StringType &s, StringType t); / 返回由s和t聯(lián)接而成的新串。StringType SubString(StringType s, int start, int len); / 當(dāng)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 'scrStr'. */ 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,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);/* 用串v替換串s中所有和串t匹配的子串。 */* 若有與t匹配的子串被替換,則返回TRUE;*/* 否則返回FALSE */定長順序串SString的類型定義:typedef unsigned char SStringMAXSTRLEN+1; /* s0 is the string's length */注:這題在Status Replace(SString& s, SString t, SString v)函數(shù)前要寫一個int Index(SString s, SString t,int pos )的函數(shù)。如下:int Index(SString s, SString t,int pos ) int i = pos; int j = 1; while( i<= s0&&j<=t0) if( si = tj ) +i; +j; elsei= i-j+2;j=1; if( j > t0 ) return i - t0; else return 0;Status Replace(SString& s, SString t, SString v)/* 用串v替換串s中所有和串t匹配的子串。 */* 若有與t匹配的子串被替換,則返回TRUE;*/* 否則返回FALSE */ int flag = 0; int i,j,w,r; SString s1; for( i = 0; i <= s0; i+ ) s1i = si; for( i = 1, j = 1; i <= s10; ) w = Index( s1, t, i); if( !w ) while( i <= s10 ) sj+ = s1i+; else while( i < w ) sj+ = s1i+; for( r = 1; r <= v0; r+ ) sj+ = vr; flag+; i += t0; s0 = -j; if( flag ) return TRUE; return FALSE; 編寫算法,從串s中刪除所有和串t相同的子串。要求實現(xiàn)以下函數(shù):Status DelSub(SString &s, SString t);/* 從串s中刪除所有和串t匹配的子串。 */* 若有與t匹配的子串被刪除,則返回TRUE;*/* 否則返回FALSE */定長順序串SString的類型定義:typedef unsigned char SStringMAXSTRLEN+1; /* s0 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; while( i<= s0&&j<=t0) if( si = tj ) +i; +j; elsei= i-j+2;j=1; if( j > t0 ) return i - t0; else return 0;Status DelSub(SString &s, SString t)/* 從串s中刪除所有和串t匹配的子串。 */* 若有與t匹配的子串被刪除,則返回TRUE;*/* 否則返回FALSE */ int flag = 0; int i,j,w; for( i = 1, j = 1; i <= s0; ) w = Index( s, t, i); if( !w ) while( i <= s0 ) sj+ = si+; else while( i < w ) sj+ = si+; flag+; i += t0; s0 = -j; if( flag ) return TRUE; return FALSE; 假設(shè)以定長順序存儲結(jié)構(gòu)表示串,試設(shè)計一個算法,求串s中出現(xiàn)的第一個最長重復(fù)子串及其位置,并分析你的算法的時間復(fù)雜度。要求實現(xiàn)以下函數(shù):void CommonStr(SString s, SString &sub, int &loc);/* 求串s中出現(xiàn)的第一個最長重復(fù)子串sub及其位置loc */定長順序串SString的類型定義:typedef unsigned char SStringMAXSTRLEN+1; /* s0 is the string's length */void CommonStr(SString s, SString &sub, int &loc)/* 求串s中出現(xiàn)的第一個最長重復(fù)子串sub及其位置loc */ int index=0,length=0,length1,i=0,j,k; while(i<s0) j=i+1; while(j<=s0) if(si=sj) length1=1; for(k=1;si+k=sj+k;k+) length1+; if(length1>=length) index=i; length=length1; j=j+length1; else j+; i+; loc=index; sub0=length;

注意事項

本文(《數(shù)據(jù)結(jié)構(gòu)題集》參考答案4串)為本站會員(xt****7)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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