#include "pch.h"
#include
#include
#include
#include
#define maxlen 225
#define false 0
#define true 1
/*字串順序表示(靜態儲存)*/
typedef struct sstring;
/*構造串*/
intstrassign
(sstring *s,
const
char
*ch)
else
s->len =
strlen
(ch)
;return true;}}
/*資料串插入*/
intstrinsert
(sstring *s,sstring t,
int pos)
//在字串s序號為pos之前插入串t
if(s-
>len+t.len<=maxlen)
for(
int i =
0; i < t.len;i++
) s-
>len = s-
>len + t.len;
}else
if(pos+t.len<=maxlen)
for(i =
0; i < t.len;i++
) s-
>len = maxlen;
}else
s->len = maxlen;
}return true;
}/*串刪除函式,在串中刪除從序號pos起len個字元*/
intstrdelete
(sstring *s,
int len,
int pos)
for(i = pos + len; i < s-
>len;i++
) s-
>len = s-
>len - len;
return true;
}/*串複製函式*/
intstrcopy
(sstring *s,sstring t)
s->len = t.len;
return true;
}/*判空函式*/
intstrempty
(sstring s)
else
return false;
}/*串比較函式*/
/*求串長*/
intstrlength
(sstring s)
/*清空函式*/
intstrclear
(sstring *s)
/*串連線函式*/
intstrcat
(sstring *s,sstring t)
s->len += t.len;
return true;
}else
if(s-
>len < maxlen)
s->len = maxlen;
return false;
/*表示截斷,無法正確連線*/
}else
return false;
}/*求子串函式*/
intsubstring
(sstring *sub,sstring s,
int pos,
int len)
/*將串s中序號為pos起,len個字元複製到sub中*/
else
sub-
>len = len;
return true;}}
/*定位函式*/
intindex
(sstring s,sstring t,
int pos)
/*求串t在串s中的位置*/
i = pos; j =0;
while
(ielse}if
(j >= t.len)
else
return0;
}void
strprint
(sstring s)
printf
("\n");
}int
main()
串的定長順序儲存表示
串的定長順序儲存表示 define maxstrlen 40 使用者可在255以內定義最大串長 1個位元組 typedef char sstring maxstrlen 1 0號單元存放串的長度 串採用定長順序儲存結構的基本操作 14個 sstring是陣列,故不需引用型別。此基本操作包括演算法4....
串的定長順序儲存表示
串的定長順序儲存表示是一種類似於線性表的順序儲存結構,用一組位址連續的儲存單元儲存串值的字串行。在實現時主要實現以下功能 int length sstring s 串長 bool stringconcat sstring t,sstring s1,sstring s2 用t返回s1和s2連線的串 v...
串的定長順序儲存表示
c4 1.h 串的定長順序儲存表示 define maxstrlen 40 使用者可在255以內定義最大串長 1個位元組 typedef char sstring maxstrlen 1 0號單元存放串的長度 bo4 1.c 串採用定長順序儲存結構 由c4 1.h定義 的基本操作 14個 sstri...