資料結構 C語言實現串

2021-09-01 06:35:07 字數 1603 閱讀 5510

#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...