問題及描述:
(2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。
void invert(sqstring &s)
(3)從串s中刪除其值等於c的所有字元。如從message中刪除』e』,得到的是mssag。
void dellchar(sqstring &s, char c)
(4)有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為」message」,s2為」agent」,得到的公共子串是」eage」。
sqstring commchar(sqstring s1,sqstring s2);
*輸入描述:
*/sqstring.h
#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
sqstring.cpp
#include #include #include "sqstring.h"
void trans(sqstring *&s, char c1, char c2);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) //引數不正確時返回空串
return str;
for (k=0;k0)
{ for (i=0;i(1)試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元:
main.cpp
#include #include "sqstring.h"
void trans(sqstring &s, char c1, char c2)
{ int i;
for (i=0; i執行結果:
(2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。
void invert(sqstring &s)
#include #include "sqstring.h"
void invert(sqstring &s)
{ int i;
char temp;
for (i=0; i執行結果:
(3)從串s中刪除其值等於c的所有字元。如從message中刪除』e』,得到的是mssag。
void dellchar(sqstring &s, char c)
#include #include "sqstring.h"
void dellchar(sqstring &s, char c)
{ int k=0, i=0; //k記錄值等於c的字元個數
while(i
執行結果:
(4)有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為」message」,s2為」agent」,得到的公共子串是」eage」。
sqstring commchar(sqstring s1,sqstring s2);
#include #include "sqstring.h"
sqstring commchar(sqstring s1,sqstring s2)
{ sqstring s3;
int i,j,k=0;
for (i=0; i執行結果:
學習心得:這些看起來很高大上的**分塊一分析,還是很好理解的
第八周 專案3 順序串演算法
煙台大學計算機與控制工程學院 檔名稱 第8周專案3 順序串 作 者 呂云雙 完成日期 2015年10月23日 問題描述 使用佇列陣列 版 本 號 v1.0 標頭檔案 define maxsize 100 最多的字元個數 typedef struct sqstring void strassign s...
第八周專案3 順序串演算法
檔名稱 h1.cpp 完成日期 2015年10月13日 版本號 vc6.0 問題描述 編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元,試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba,從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到...
第八周 專案3 順序串演算法
採用順序儲存方式儲存串,實現下列演算法並測試 1 試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元 void trans sqstring s,char c1,char c2 2 試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。void invert...