串基本操作的實現

2021-08-13 17:51:11 字數 761 閱讀 3818

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...