#include "stdlib.h"
#include "stdio.h"
#define true 1
#define false 0
#define maxlen 255
typedef int status;
typedef structstring;
//串的賦值
void strassign(string *s,char *string)
else }
//判斷串是否為空
status strempty(string s)
//串比較
status strcompare(string s,string t)
} return 0;
}//串複製
void strcopy(string *t,string s)
t->length=s.length;
}//求串長
int strlength(string s)
//清空串
void strclear(string *s)
//串連線
/*1.當s1.length+s2.length<=maxlen時,則將s2直接加在s1的後面
2.當s1.length+s2.length>maxlen時,而s1.lengthch[i]=s1.ch[i];
for(i=0;ich[s1.length+i]=s2.ch[i];
t->length=s1.length+s2.length;
return true;
} else if(s1.lengthch[i]=s1.ch[i];
for(i=s1.length;ich[i]=s2.ch[i-s1.length];
t->length=maxlen;
return false;
} else
return false; }}
//求子串
status substring(string *sub,string s,int pos,int len)
for(i=0;ich[i]=s.ch[pos+i];
sub->length=len;
return true;
}//串定位
status strindex(string s,string t,int pos)
else }
//串插入
/*1.當s.length+t.length<=maxlen時,則將s2後移t.length個位置,再將t插入
2.當s.length+t.length>maxlen,而s1.length+t.lengthmaxlen時,則將s2全部捨棄(不需要後移),
且在t插入時超出maxlen的部位被截斷
*/status strinsert(string *s,int pos,string t)
else if (pos+t.length<=maxlen)
else//串t需部分截斷
return true;
}//串刪除
status strdelete(string *s,int pos,int len)
資料結構 串(C語言實現)
一.串的定義 串是由零個或者多個字元組成的有限序列。串中任意連續的字元組成的子串行稱為該串的字串,包含字串的串稱為主串。在c語言中,串可以使用如下語句定義 char str hello world 上面的串裡面一共有12個字元,但是編譯器以 0 作為字串結束標誌,所以陣列str的長度為13,串str...
資料結構 佇列(C語言實現)
佇列 c語言實現 include include define queueisempty arg arg size 0 define queueisfull arg arg size arg capacity 判斷是否為空或為滿。巨集定義,函式調銷太大。佇列使用size和capacity顯式的判斷是...
資料結構C語言實現 ADT Triplet
declartion.h 型別宣告 define true 1 define false 0 define ok 1 define error 0 define infeasible 1 define overflow 2 define elemtype int typedef elemtype t...