資料結構第四章

2021-10-25 14:03:50 字數 1153 閱讀 5233

字串的操作、比較大小(見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 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...