字串的基本操作和模式匹配

2021-08-09 11:10:33 字數 1943 閱讀 4109

#include 

#include

#define max_size 100

#define ok 1

#define error -1

typedef int status;

字串的結構體

typedef

struct

string;

字串長度初始化為0

status strinit(string *s)

生成乙個值等於char的串

status strassign(string *s, char chars)

return ok;

}

輸出字串

void stroutput(string s)

printf("\n");

}

建立乙個字串

void strcreate(string *s)

}

比較兩個字串的大小

若返回正數,則s>s1

若返回負數,則s

status strcompare(string *s, string *s1)

}return s->length - s1->length;//若長度短的字串已經比較完(例如:abcdefg和abcd)則長度長的字串大 或 兩字串的相等(例如:ggjghsg和ggjghsg)

}

連線兩個字串

status concat(string *s1, string *s2, string *s)

for(j = 0; j < s2->length; j++)

return ok;

}

求字串的長度

void strlength(string *s)

求字串的子串

pos是子串起始位置

len是子串長度

status substring(string s, int

pos, int len)

else

if( pos + len > s.length)//字串從pos開始到結束沒有len位

else

printf("\n");

}return ok;

}

字串的模式匹配

status index(string s, int

pos, string t)

else

i++;

j++;

}else

else

posi = i;

j = 0;}}

if(j == t.length)

else

}return ok;

}

int main()

else

}else

if(a == 2)

else

if(a == 3)

else

if(res < 0)

else

if(res == 0)

}else

if(a == 4)

else

if(a == 5)

else

if(a == 6)

else

}` return 0;

}

執行結果:

字串模式匹配

include include include include include includeusing namespace std inline unsigned int64 getclock const char min a const int characters 26 int shiftta...

字串模式匹配

子串的定位操作通常稱作串的模式匹配,是各種串處理系統中最重要的操作之一。設有2 個串 主串 s和子串 t,串的簡單模式匹配演算法是 從主串 s 中的第乙個字元開始和子串 t中的第乙個字元比較,分別用i和 j 指示s串和 t串中正在比較的字元的位置。若相等,則繼續逐個比較後續字元 否則從主串 s的第二...

字串模式匹配

bf演算法 我們常用的暴力演算法,時間複雜度o n2 o n 2 演示 int bf const char text,const char pattern if flag return 1 return 0 kmp演算法 基於bf演算法的優化,他根據字串出現字首與字尾相同的情況進行優化 假設這裡sa...