第8周專案2 建立鏈串的演算法庫

2021-08-09 12:52:45 字數 2961 閱讀 4410

/*

*all rights reserved.

*檔名稱:dsitem8-2.cpp

*作 者:於子淇

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

*版 本 號:code::blocks 12.11

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

*輸入描述:無

*程式輸出:見程式執行結果演示

*/

listring.h

#ifndef listring_h_included

#define listring_h_included

typedef struct snode

listring;

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

void strcopy(listring *&s,listring *t); //串t複製給串s

bool strequal(listring *s,listring *t); //判串相等

int strlength(listring *s); //求串長

listring *concat(listring *s,listring *t); //串連線

listring *substr(listring *s,int i,int j); //求子串

listring *insstr(listring *s,int i,listring *t) ; //串插入

listring *delstr(listring *s,int i,int j); //串刪去

listring *repstr(listring *s,int i,int j,listring *t); //串替換

void dispstr(listring *s); //輸出串

#endif // listring_h_included

listring.cpp

#include 

#include

#include "listring.h"

void strassign(listring *&

s,char cstr) //字串常量cstr賦給串s

r->next=null;

}void strcopy(listring *&

s,listring *t) //串t複製給串s

r->next=null;

}bool strequal(listring *s,listring *t) //判串相等

if (p==null && q==null)

return true;

else

return false;

}int strlength(listring *s) //求串長

return i;

}listring *concat(listring *s,listring *t) //串連線

p=t->next;

while (p!=null) //將t的所有節點複製到str

r->next=null;

return str;

}listring *substr(listring *s,int i,int j) //求子串

r->next=null;

return str;

}listring *insstr(listring *s,int i,listring *t) //串插入

while (p1!=null) //將t的所有節點複製到str

while (p!=null) //將*p及其後的節點複製到str

r->next=null;

return str;

}listring *delstr(listring *s,int i,int j) //串刪去

for (k=0;knext跳j個節點

p=p->next;

while (p!=null) //將*p及其後的節點複製到str

r->next=null;

return str;

}listring *repstr(listring *s,int i,int j,listring *t) //串替換

for (k=0;knext跳j個節點

p=p->next;

while (p1!=null) //將t的所有節點複製到str

while (p!=null) //將*p及其後的節點複製到str

r->next=null;

return str;

}void dispstr(listring *s) //輸出串

printf("\n");

}

main.cpp

#include 

#include "listring.h"

int main()

程式執行結果演示:

學習感悟及知識點總結:

串採用鏈式結構儲存結構儲存時稱為鏈串,這裡採用帶頭結點的單鏈表作為鍊錶。鏈串的組織形式與一般的單鏈表相同,主要區別在於鏈串的乙個結點可以儲存多個字元。通常將鏈串中每個結點所儲存的字元個數稱為結點大小。

鏈串的尾結點的各個資料域不一定總能全被字元佔滿,此時應在這些未占用的資料域裡補上不屬於字符集的特殊符號

第8周 專案2 建立鏈串演算法庫

1.標頭檔案 listring.h,包含定義鏈隊資料結構的 巨集定義 要實現演算法的函式的宣告 typedef struct snode listring void strassign listring s,char cstr 字串常量cstr賦給串s void strcopy listring s...

第8周 專案2 建立鏈串的演算法庫

檔名稱 1.pp 完成日期 2015年10月19日 問題描述 建立鏈串的演算法庫 include include define listring h included typedef struct snode listring void strassign listring s,char cstr ...

第8周專案2 建立鏈串的演算法庫

問題 檔名稱 專案2.cbp 作 者 王聰 完成日期 2015年10月19日 版 本 號 v1.0 問題描述 定義鏈串的儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 架構 void strassign listring s,char cstr 字串常量cstr賦給串s vo...