定長串的基本操作
我又把書中的**敲了一遍@.@
你時間是真的多,別再敲書中的**了,去做題啊!!
//定長串的基本操作
//自己注意一下insert_str(sstring& s,int pos,sstring t)函式
#includeusing namespace std;
const int maxstrlen=5;
typedef char sstring[maxstrlen+1];//0號單位存放串的長度
bool assign_str(sstring& t,char ch,int n)//將ch陣列「賦給」串t n為字元陣列的空間
else
return true;
}bool copy_str(sstring& t,sstring s)//將串s的值賦給串t
bool isempty_str(sstring s)//串s為空,返回true;否則返回false
int compare_str(sstring s,sstring t)//比較串s、t的大小 串s>串t,返回正數;串s=串t,返回0;串s《串t,返回負數
return s[0]-t[0];
}int length_str(sstring s)//返回串s的長度
bool clear_str(sstring& s)//「清空」串s
bool concat_str(sstring& t,sstring s1,sstring s2)//t=s1+s2
else if(s1[0]maxstrlen)
else
return true;
}bool sub_str(sstring& sub,sstring s,int pos,int len)//串s的pos位置開始後的len個元素存入sub中
//1<=pos<=s[0] 0<=len<=s[0]-pos+1
int index_str(sstring s,sstring t,int pos)//從串s的pos位置開始定位串t的位置,若無,則返回0
//1<=pos<=s[0]-t[0]+1
return 0;
}bool replace_str(sstring& s,sstring t,sstring v)//用串v替換掉主串s中與t相等的子串
}return true;
}bool insert_str(sstring& s,int pos,sstring t)//將串t插入pos之前
//1<=pos<=s[0]+1
//本來想放棄的,覺得這定長串沒啥用,但存在即合理,就像你之前認為迴圈佇列沒用,事實證明,迴圈佇列有用
//演算法思想:定義乙個空間足夠的輔助char陣列(自行定義空間),
//然後將s和t存入該char陣列,然後將sstring全部或者部分截斷後(根據情況而定)存入s即可
else
return true;
}bool delete_str(sstring& s,int pos,int len)//刪除串s的從pos位置後的len個元素
//1<=pos<=s[0]-len+1
int main()
定長順序串的基本操作
定長順序串採用的是陣列方法進行儲存,空間分配一次完成,可以實行如下的基本操作 include include using namespace std define maxstrlen 200 define true 1 define false 0 define ok 1 define error ...
不定長順序表的基本操作
sqelist.h函式宣告 void init list p static intfull list p void resize list p void insert back list p,elem type val int insert pos list p,int pos,elem type ...
定長順序表的相關操作
建立標頭檔案list.h pragma once 防止標頭檔案被重複使用 標頭檔案 存放資料的定義和函式宣告 define size 10 typedef struct seqlist squlist,pseqlist typedef seqlist pseqlist 初始化 void initse...