字串的操作、比較大小(見ppt)
串其實是一種特殊的線性表。
靜態陣列實現(定長順序儲存)
#define maxlen 255
//預定義最大串長為255
typedef
struct
sstring;
基本操作的實現
//求子串
bool
substring
(sstring &sub, sstring s,
int pos,
int len)
int
strcompare
(sstring s, sstring t)
return s.length - t.length;
}
int
index
(sstring s, sstring t)
return0;
//s中不存在t相等的子串
}
2.動態陣列實現(堆分配儲存)
typedef
struct
hstring;
hstring s;
s.ch =
(char*)
malloc
(maxlen *
sizeof
(char))
;s.length =
0;
typedef
struct stringnodestringnode,
*string;
分析:此方式儲存密度低:每個字元1b,每個指標4b
改進:
typedef
struct stringnodestringnode,
*string;
int
index
(sstring s,sstring t)
else}if
(j > t.length)
else
return0;
}
改進思路:主串指標不回溯,只有模式串指標回溯 資料結構 第四章
第四章 字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...
資料結構 第四章
第四章 字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...
資料結構第四章
第四章字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為 0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...