/*問題及**
*all right reserved.
*檔名稱:計數的模式匹配.cpp
*完成日期;2023年10月15日
*版本號;v1.0
* *問題描述: 採用順序結構儲存串,編寫乙個演算法計算指定子串在乙個字串中出現的次數,
如果該子串不出現則為0。
*輸入描述:兩行字串
*程式輸出:子字串在主字串內出現的次數
1.main.cpp
#include "sqslist.h"
#include
int main()
2.sqslist.cpp
#include"sqslist.h"
#include
#include
int str_count(sqstring s,sqstring t)
} return(count);
} void strassign(sqstring &s,char cstr) //s為引用型引數
void strcopy(sqstring &s,sqstring t) //s為引用型引數
sqstring; //用於儲存字元對映表
void strassign(sqstring &s,char cstr); //字串常量cstr賦給串s
void strcopy(sqstring &s,sqstring t); //串t複製給串s
bool strequal(sqstring s,sqstring t); //判串相等
int strlength(sqstring s); //求串長
sqstring concat(sqstring s,sqstring t); //串連線
sqstring substr(sqstring s,int i,int j); //求子串
sqstring insstr(sqstring s1,int i,sqstring s2); //串插入
sqstring delstr(sqstring s,int i,int j) ; //串刪去
sqstring repstr(sqstring s,int i,int j,sqstring t); //串替換
void dispstr(sqstring s); //輸出串
sqstring encrypt(sqstring p);
sqstring unencrypt(sqstring q);
int str_count(sqstring s,sqstring t);
#endif // sqstring_h_included
執行結果:
知識點總結
此程式運用了bf的方式去解決問題,首先讓子字元與主字元進行第一次配對,當配對成功之後主字元從當前節點繼續後移,子字串從第乙個字元開始配對,如此迴圈直到主字串配對完成程式結束,同時也是用乙個變數記錄配對成功的次數。
學習心得
這個程式看起來不是太難,但是應用型很廣,對於生物dna或指紋配對技術是很有效的,我覺得如果真的用指紋或者dna的話兩者配對的資料肯定是很龐大,能熟知這個原理也是比較膩害的
第8周 專案5 計數的模式匹配
1.標頭檔案 sqstring.h,包含定義鏈隊資料結構的 巨集定義 要實現演算法的函式的宣告 define maxsize 100 最多的字元個數 typedef struct sqstring void strassign sqstring s,char cstr 字串常量cstr賦給串s vo...
第8周 專案5 計數的模式匹配
問題及 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年10月23日 版 本 號 v1.0 問題描述 採用順序結構儲存串,編寫乙個演算法計算指定子串在乙個字串中出現的次數,如果該子串不出現則為0。輸入描述 字串 子串。程式輸出 子串在乙個字串中出現的次數。include include...
第8周專案 5 計數的模式匹配
檔名稱 第8周專案5 計數的模式匹配.cpp 作 者 孫欽達 完成日期 2015年10月30日 版 本 號 v1.0 問題描述 採用順序結構儲存串,編寫乙個演算法計算指定子串在乙個字串中出現的次數,如果該子串不出現則為0。輸入描述 兩個字串。程式輸出 子串出現的次數。int str count sq...