堆分配儲存表示法
儲存結構:
構建堆來儲存字串,本質上是順序表
實現**:
#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...