第四章(4)串的模式 KMP演算法

2021-08-15 08:35:57 字數 908 閱讀 3820

#include#include#include//巨集定義

#define ok 1

#define error 0

#define true 1

#define false 0

#define overflow -2

#define str_init_size 100

#define strincrement 10

typedef int status;

//-----串的堆分配儲存表示-------

typedef structhstring;

//1、初始化字串

status initstring(hstring *t)

//2、生成乙個其值等於串常量 chars 的串 t

status strassign(hstring *t, char *chars)

/* 也可以這樣利用前面計算出來的 len 來計算

if (!len)

*/else

t->length=len;

} return ok;

}char next[5];

//3、返回 s 的元素個數,成為串的長度

int strlength(hstring s)

void get_next(hstring t,char next)

}//get_next

*/int index_kmp(hstring s,hstring t,int pos)

else

} if(j>t.length) //匹配成功

return (i-t.length+1-pos);

else

return 0;

}void main()

資料結構 第四章 串與KMP演算法

串是由零個或多個字元組成的有限序列,又名叫字串。即非數值的線性表。字串在計算機中的大小其實取決於它們挨個字母的前後順序。空串不含任何字元。空格串,是只包含空格的串。空格串是有內容有長度的,而且可以不止乙個空格。子串與主串,串中任意個數的連續字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串...

第四章作業 串

1 1 函式strcmp從頭至尾順序地將其對應字元比較,遇到兩個字元不等時,兩個字元相減得到乙個int型值,兩個字串完全相同時,則返回0。1分 t 1 2c 語言中 字串常量最後乙個字元是結束標誌 該結束符是 0 1分 t 1 3char s c language 表示s是乙個指向字串的指標變數,把...

演算法第四章作業

1.我對貪心演算法的理解 貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態...