串的概述
串(字串):由n(n>=0)個字元組成的有限序列。一般記作s=「s0,s1,s2,…,sn-1」,其中s稱作串名,n稱作串的長度,雙引號括起來的字串行稱作串的值。
子串:乙個串中任意個連續的字元組成的子串行。
主串:包含子串的串稱為子串的主串。
該字元在串中的位置:乙個字元在乙個串中的位置序號(>=0)
串相等:大小和值都相等。
注:串「a」:既要儲存字元『a』,也要儲存該串的長度資料。與『a』不同。
串的儲存結構
1:靜態陣列結構(長度難以改變)
2:動態陣列結構(常用***)
typedef
struct
dstring;
3:單位元組節點鏈(空間利用率太低)
4:塊鏈(操作實現複雜)
串基本操作的實現
1:結構定義(如上)
2:初始化
void
init_dstring
(dstring *s,
int max,
char
*string)
}
3:插入子串
int
insert_dstring
(dstring *s,
int pos, dstring t)
else
for(i = s->length -
1; i >= pos; i--
)//從後往前將元素後移
for(i =
0; i < t.length; i++
)//插入,生成新串
s->length +
= t.length;
return1;
}}
4:刪除子串
int
delete_dstring
(dstring *s,
int pos,
int len)
else
if(pos <
0|| len<
0|| pos + len>s->length)
else
s->length -
= len;
return1;
}}
5:取子串
int
substring
(dstring *s,
int pos,
int len, dstring *t)
if(len>t->max_length)
//開闢空間
for(i =
0; i < len; i++
)//取子串
t->length = len;
return1;
}
6:撤銷串
void
destory
(dstring *s)
資料結構(C語言) 串
二 串的儲存結構 串的基本運算的實現 串是字串的簡稱,它的每個資料元素都由乙個字元組成。串是一種特殊的線性表。字串簡稱為串,是一種特殊的線性表,它的資料元素僅由字元組成。1 串的定義 串 string 是由零個或任意多個字元組成的有限序列,一般記為 s a1a2a3.an n 0 其中,s為串名,在...
資料結構 C語言實現串
include stdlib.h include stdio.h define true 1 define false 0 define maxlen 255 typedef int status typedef structstring 串的賦值 void strassign string s,c...
C語言資料結構 六 ,串
c語言資料結構 嚴蔚敏,吳偉民版。以下內容為串 串或字串 sting 由零個或者多個字元組成的有限序列。串長度 串中字元的數目n,稱為串的長度。空串 零個字元的串。子串 串中任意個連續的字元組成的子串行。主串 包含子串的的串。空格串 blank string 由乙個或多個空格組成的串。串的抽象資料型...