第八周專案1 建立順序串的演算法庫

2021-07-23 21:40:46 字數 3945 閱讀 8685

/*   

*檔名稱:1.cpp

*完成日期:2023年10月21日

*版本號:v1.0

*問題描述:定義順序串的儲存結構,實現其基本運算,並完成測試。

要求:

1、標頭檔案sqstring.h中定義資料結構並宣告用於完成基本運算的函式。對應基本運算的函式包括:

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); //輸出串

2、在sqstring.cpp中實現這些函式

3、在main函式中完成測試,包括如下內容:

(1)建立串s:abcdefghijklmn和串s1:123

(2)輸出串s和s1

(3)輸出串s的長度

(4)在串s的第9個字元位置插入串s1而產生串s2

(5)輸出串s2

(6)刪除串s第2個字元開始的5個字元而產生串s2

(7)輸出串s2

(8)將串s第2個字元開始的5個字元替換成串s1而產生串s2

(9)輸出串s2

(10)提取串s的第2個字元開始的10個字元而產生串s3

(11)輸出串s3

(12)將串s1和串s2連線起來而產生串s4

(13)輸出串s4

*輸入描述:無

*程式輸出:完成測試後的執行結果

*/

#include #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); //輸出串

#include "sqstring.h"  

void strassign(sqstring &s,char cstr) //字串常量cstr賦給串s

void strcopy(sqstring &s,sqstring t) //串t複製給串s

,objects1=; 作為目標串

strassign(s,objects);

strassign(s1,objects1); //建立串s:abcdefghijklmn和串s1:123

printf("建立的串s為:"); //輸出串s和s1

dispstr(s);

printf("建立的串s1為:");

dispstr(s1);

printf("\n");

printf("串s的長度為:%d\n\n",strlength(s)); //輸出串s的長度

s2=insstr(s,9,s1); //在串s的第9個字元位置插入串s1而產生串s2

printf("插入操作後串s2為:");

dispstr(s2); //輸出串s2

printf("\n");

s2=delstr(s,2,5); //刪除串s第2個字元開始的5個字元而產生串s2

printf("刪除操作後串s2為:");

dispstr(s2); //輸出串s2

printf("\n");

s2=repstr(s,2,5,s1); //將串s第2個字元開始的5個字元替換成串s1而產生串s2

printf("替換操作後串s2為:");

dispstr(s2); //輸出串s2

printf("\n");

s3=substr(s,2,10); //提取串s的第2個字元開始的10個字元而產生串s3

printf("提取操作後串s3為:");

dispstr(s3);

printf("\n");

s4=concat(s1,s2); //將串s1和串s2連線起來而產生串s4

printf("連線操作後串s4為:");

知識點總結:

順序串的基本運算

心得體會:

通過順序串演算法庫的建立,鞏固了基本運算及其實現過程。

第八周專案1建立演算法庫順序串

問題及描述 輸入描述 sqstring.h ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typedef struct sqstring void strassign sqstring...

第八周專案1 建立順序串演算法庫

檔名稱 shunxuchuan.cpp 完成日期 2015年10月30日 版本號 vc 6.0 問題描述 建立順序串演算法庫 輸入描述 無 程式輸出 子串,串連線,串刪除,串插入等 ifndef head h included define head h included include inclu...

第八周專案1 建立順序串演算法庫

問題及 檔名稱 專案1.cbp 作 者 董雪 完成日期 2016年10月20日 版 本 號 v1.0 問題描述 定義順序串的儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 1.標頭檔案sqstring.h ifndef sqstring h included define s...