資料結構 堆分配表示的串

2021-09-25 21:11:01 字數 1360 閱讀 1647

#include#include#define status int

#define true 1

#define false 0

typedef structhstring;

//用字串常量初始化s

int strassign(hstring *s, const char *chars)

if(!i)

else }

s->length=i;

return 1;

}//用變數初始化s

int strassign(hstring *s, char *chars)

if(i==0)

else

s->length=i;

return 1;

}//比較串s和串t,s>t返回值》0,相等返回0,ss.length || len<0 || len>s.length-pos+1)

return 0;

sub->ch=(char*)malloc(len*sizeof(char));

if(!sub->ch) return 0;

for(i=0;ich[i]=s.ch[pos+i];

sub->length=len;

return 1;

}//用t返回s1和s2組成的字串

int concat(hstring *t,hstring s1,hstring s2)

for(i=0;ich[s1.length+i]=s1.ch[i];

} t->length=s1.length+s2.length;

return 1;

}void strdisplay(hstring s)

s->length=0;

return 1;

} //在串的第pos個字元之前插入串t,即pos位開始元素往後移動

注意:如果clearstring中的引用ch使用了』.』,則會報錯

則此處需要使用『->』來引用成員ch ,即:s->ch;

如果非指標型別的「hstring」變數用『->』來引用成員,則會報錯

則對於非指標型別『hstring』引用結構成員的時候,只能用『.』

最下面注釋的那一段的執行結果

串的堆分配儲存表示

串的堆分配儲存表示 方法仍然以一組位址連續的儲存單元表示,但它們的儲存 空間是在程式執行過程中動態分配的。堆串型別定義 typedef strcut hstring hstring 堆串常用基本操作的演算法描述 串賦值int strassign hstring s,char chars else s...

C語言實現資料結構串(堆分配儲存表示法)例項詳解

堆分配儲存表示法 儲存結構 構建堆來儲存字串,本質上是順序表 實現 include include include define ok 1 define error 0 define true 1 define false 0 define overflow 2 define str init si...

資料結構之串結構的實現 堆分配結構 C語言

學習參考 嚴蔚敏 資料結構 c語言版 基本操作 賦值操作 字串連線 取長度字串比較 求子串輸出字串 清空操作 實現 結構定義 typedef struct pstr,dynstring 賦值操作 int strassign pstr str,char ch if len 0 return 0 str...