第四章 串 陣列和廣義表 順序串的基本操作

2021-10-04 19:16:13 字數 2576 閱讀 7403

#include

#define true 1

#define false 0

#define ok 1

#define error 0

#define overflow -2

#define maxstrlen 255

typedef

int status;

typedef

int elemtype;

typedef

unsigned

char sstring[maxstrlen +1]

;//0號單元存放串的長度

using

namespace std;

status strassign

(sstring t,

char chars)

return ok;

}status strcopy

(sstring t,sstring s)

t[0]

=s[0];

return ok;

}status strempty

(sstring s)

status strcompare

(sstring s,sstring t)

return s[0]

-t[0];

}status strlength

(sstring s)

status concat

(sstring t,sstring s1,sstring s2)

for(j=

1; j<=s2[0]

; j++

) uncut=true;

}else

if(s1[0]

//截斷

for(j=

1; j<=maxstrlen-s1[0]

; j++

) uncut=false;

}else

// s1[0]>maxstrlen

uncut=false;

}return uncut;

}status substring

(sstring sub,sstring s,

int pos,

int len)

else

return ok;

}status index

(sstring s,sstring t,

int pos)

}return0;

}status strinsert

(sstring s,

int pos,sstring t)

for(i =

1; i <=t[0]

; i++

) s[0]

= s[0]

+ t[0]

;return true;

}else

for(i =

1; i <= maxstrlen - s[0]

; i++

)return false;}}

status strdelete

(sstring s,

int pos,

int len)

s[0]

-= len;

return ok;

}status strprint

(sstring s)

cout << endl;

return0;

}int

main()

else

cout <<

"求子串失敗!"

<< endl;

cout

"請輸入要查詢的子串:"

; cin>>c;

strassign

(sub,c)

; cout<<

"請輸入要從哪個位置之後開始查詢:"

; cin>>pos;if(

index

(t2,sub,pos)

)else

cout <<

"查詢失敗"

<< endl;

cout

"在串s1的第pos位置插入串s2"

<< endl;

cout <<

"輸入pos的值:"

; cin >> pos;if(

strinsert

(s1, pos, s2)==1

)else

cout <<

"插入失敗"

<< endl;

cout

"從串s1中刪除第pos位置起長度為len的字元"

<< endl;

cout <<

"輸入pos,len的值:"

; cin >> pos >> len;if(

strdelete

(s1, pos, len)==1

)else

cout <<

"刪除失敗"

<< endl;

return0;

}

第四章 串 陣列和廣義表

一 串 1.順序儲存 順序儲存 struct hstring 2.鏈式儲存 鏈式儲存 define chuncksize 80 使用者定義塊的大小,每一塊 3.串的模式匹配演算法 bf演算法 經典 和kmp演算法 速度快 bf演算法 index s,t,pos 將主串s的第pos個字元和模式t的第乙...

第四章串 陣列 廣義表(4 1 4 3 2)

目錄4.3串的型別定義 儲存結構及其運算 串 string 是由零個或者多個字元組成的有限序列,又名叫字串。一般記為s a1a2 an n 0 其中s是串的名稱,用雙引號括起來括起來的字串行是串的值,引號不屬於串的內容。ai 1 i i 可以是字母,數字或者其他字元,i就是該字元在串中的位置。串中的...

第四章串 陣列 廣義表(4 4 4 5)

目錄4.4.2陣列的順序儲存 4.4.3特殊矩陣的壓縮儲存 2.三角矩陣 3.對角矩陣 4.5廣義表 n維陣列中含有 i 1 n b i prod n b i i 1nbi個資料元素,每個資料元素都受著n個關係的約束 在每個關係中,元素 a j 1 j 2 j n 0 j i b i 2 a 0 l...