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