*題目描述:有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。
例s1為」message」,s2為」agent」,得到的公共子串是」eage」。
***1:演算法庫中標頭檔案部分
#ifndef sqstring_h_included
#define sqstring_h_included
#define maxsize 100 //最多的字元個數
typedef struct
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); //輸出串
#endif // sqstring_h_included
***2:演算法庫中部分函式的實現
#include #include #include "sqstring.h"
void strassign(sqstring &s,char cstr) //s為引用型引數
void strcopy(sqstring &s,sqstring t) //s為引用型引數
{ int i;
for (i=0;is.length || j<0 || i+j-1>s.length)
return str; //引數不正確時返回空串
for (k=i-1;ks1.length+1) //引數不正確時返回空串
return str;
for (j=0;js.length || i+j>s.length+1) //引數不正確時返回空串
return str;
for (k=0;ks.length || i+j-1>s.length) //引數不正確時返回空串
*知識點總結及心得:
這個小專案主要實現的是查詢兩個字串的公共子串,commchar這個函式是本程式的核心,通過兩個迴圈來實現字串中每乙個字元的比較,這個過程是乙個個去對比的,當你找到相同的字元時,我們就先break然後將它儲存到我們建好的乙個串中,並且把他的長度記錄好,便於我們去下一步的輸出。
第八周專案6 公共字串
問題及 檔名稱 公共字串.cpp 完成日期 2016年10月20日 版本號 v1.0 問題描述 有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為 message s2為 agent 得到的公共...
第八周 專案三 順序串演算法(4)公共字元
問題及 all right reserved.完成日期 2016年10月20日 版本號 v1.0 問題描述 有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為 message s2為 agent...
第八周 專案3 4 公共字元
檔名稱 main.cpp 作者 王超 完成日期 2015年10月23日 問題描述 公共字元 include include sqstring.h int main include include include sqstring.h sqstring commchar sqstring s1,sqs...