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