資料結構 串 C語言

2021-10-04 02:40:38 字數 1530 閱讀 7557

串的概述

串(字串):由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 由乙個或多個空格組成的串。串的抽象資料型...