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

2021-07-06 09:37:20 字數 2584 閱讀 7684

/*

*檔名稱:shunxuchuan.cpp

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

*版本號:vc++6.0

* *問題描述:建立順序串演算法庫

*輸入描述:無

*程式輸出:子串,串連線,串刪除,串插入等

*/

#ifndef head_h_included

#define head_h_included

#include #includetypedef 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 // head_h_included

#include #include "head.h"

int main()

#include "head.h"

//串的賦值

void strassign(listring *&s,char cstr)

r->next=null;

}//串的複製

void strcopy(listring *&s,listring *t)

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)

while(p!=null)

r->next=null;

return str;

}//求子串

listring *substr(listring *s,int i,int j)

for(m=0;mnext;

for(m=0;mdata=p->data;

r->next=q;

r=q;

q=q->next;

}r->next=null;

return str;

}//串插入

listring *insstr(listring *s,int i,listring *t)

while(p1!=null)

while(p!=null)

r->next=null;

return str;

}//刪除子串

listring *delstr(listring *s,int i,int j)

for(m=0;mnext;

while(p!=null)

r->next=null;

return str;

}//替換串

listring *repstr(listring *s,int i,int j,listring *t)

for (k=0;knext;

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

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

r->next=null;

return str;

}//串輸出

void dispstr(listring *s)

printf("\n");

}

執行結果:

知識點總結:

在建立鏈串演算法庫中,每個函式都會重新定義乙個串指標,將需要放入的資料放到串中,這個過程又用到了以前學過的線性表的知識。函式的建立雖然複雜,但是理解了其中的含義,畫出鍊錶就可以很輕鬆的寫出來。

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

檔名稱 26.cpp 作 者 尚文哲 完成日期 2017年10月23日 問題描述 定義順序串的儲存結構,實現其基本運算,並完成測試。輸入描述 各種串的輸入。程式輸出 各操作後的輸出。1 標頭檔案 typedef struct snode listring void strassign listrin...

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

檔名稱 main.cpp 作者 王超 完成日期 2015年10月19日 問題描述 建立鏈串的演算法庫 include include listring.h int main include include include listring.h void strassign listring s,ch...

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

問題及 檔名稱 main.cpp 完成日期 2015年10月19日 版本號 v1.0 問題描述 定義鏈串的儲存結構,實現串的基本運算,並完成測試。程式輸出 include include listring.h int main include include include listring.h v...