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

2022-09-29 06:45:06 字數 1731 閱讀 8605

堆分配儲存表示法

儲存結構:

構建堆來儲存字串,本質上是順序表

實現**:

#include

#include

#include

#define ok 1

#define error 0

#define true 1

#define false 0

#define overflow -2

#define str_init_size 100

#define strincrement 10

typedef int status;

typedef struct

hstring;

status initstring(hstring *t) //初始化字串

status strassign(hstring *t, char *p) //字串賦值

else }

status strprint(hstring t) //列印字串

status strlength(hstring t) //字串長度

status strempty(hstring t) //字串判空

status concat(hstring *t, hstring s1, hstring s2) //字串聯接

status strdelete(hstring *t, int pos, int len) //刪除字串中某個位置固定長度的子串

status strinsert(hstring *s, int pos, hstring t)

status index(hstring s, hstring t, int pos) //在字串s中索引位置pos之後的子串t

else

} if (j >= t.length)

return i - j + 1;

else

return 0;

}status replace(hstring *t, hstring s1, hstring s2) //將字串t中等於s1的子串替換成為s2

} while(pos);

return ok;

}status substring(hstring *sub, hstring s, int pos, int len)

else

return ok;

}int main()

printf("------------------------------\n");

strassign(&t, "ye");

strassign(&s, "oo");

replace(&r, t, s);

printf("replace ye -> ooo ... ok.\n");

printf("string r : ");

strprint(r);

printf("------------------------------\n");

substring(&t, r, 7, 4);

printf("substring... ok.\n");

printf("string substring : ");

strprint(t);

printf("------------------------------\n");

return ok;

}本文標題: c語言實現資料結構串(堆分配儲存表示法)例項詳解

本文位址:

C語言實現串的堆分配儲存

heap string.h 串的堆分配儲存實現,用這種實現方法的好處是,能夠動態的給 串分配記憶體空間,而順序串不能 created on 2011 9 7 author root define elemtype char define true 1 define false 0 typedef s...

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

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

資料結構 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...