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

2021-08-13 10:55:46 字數 3204 閱讀 2892

鏈串演算法庫採用程式的多檔案組織形式,包括兩個檔案:

1.標頭檔案:listring.h,包含定義鏈串資料結構的**、巨集定義、要實現演算法的函式的宣告;

[cpp]

view plain

copy

#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); 

//判串相等

intstrlength(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

2.原始檔:listring.cpp,包含實現各種演算法的函式的定義

[cpp]

view plain

copy

#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

;  }  

intstrlength(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;k//讓p沿next跳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;k//讓p沿next跳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"

);  

}  

3.在同一專案(project)中建立乙個原始檔(如main.cpp),編制main函式,完成相關的測試工作。 例:

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

鏈串演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 listring.h,包含定義鏈串資料結構的 巨集定義 要實現演算法的函式的宣告 cpp view plain copy ifndef listring h included define listring h included ty...

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

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

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

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