bf演算法
#include//輸入字串用gets函式,故i,j從0開始
#include#define ok 1
#define error -1
#define status int
#define maxsize 255
using namespace std;
typedef struct //定長儲存
sstring;
//bf演算法
int index_bf(sstring s,sstring t,int pos)
int main()
sstring;
//kmp演算法
int index_kmp(sstring s, sstring t, int pos)
else //模式串向右移動
j = next[j];
// j = nextval[j]; //next修正值 }
if (j+1 > t.length) //匹配成功
return i - t.length+1 ;
else
return 0; //匹配失敗
}void get_next(sstring t)
{//求模式串t的next函式值並存入陣列next
int i=0,j=0;
next[0]=-1;
j=next[i];
while(i
串基本操作的實現
實驗專案四 串基本操作的實現 課程名稱 資料結構 實驗專案名稱 串基本操作的實現 實驗目的 1 掌握串的模式匹配操作。實驗要求 1 分別使用bf和kmp演算法完成串的模式匹配。實驗過程 bf演算法 1 設計完成next值的計算函式 2 設計完成修正next值的函式 3 kmp演算法 4 輸入子串 a...
基於C的串的基本操作實現
字串是計算機中使用非常廣泛的一種結構。許多語言都提供了串處理執行程式。在c語言中,提供了非常豐富的串處理函式。這裡舉幾種串運算,並用c語言實現這些運算。實現 include include define maxn 100 typedef enum status typedef enum boolea...
串的基本操作
include include include include define maxn 50 define ok 1 define error 0 typedef struct strnode snode void creat snode char 建立串 int getsubstr snode i...