學習參考: 嚴蔚敏: 《資料結構-c語言版》
基本操作賦值操作
字串連線
取長度字串比較
求子串輸出字串
清空操作
**實現結構定義:
typedef struct
*pstr, dynstring;
賦值操作
int strassign(pstr str, char* ch)
if(len==0)
return 0;
str->ch = (char*)malloc(sizeof(char)*(len+1));
if(str->ch==null)
return 0;
for(i; ich[i] = *c;
str->length++;
} return 1;
}
字串連線
int strcompare(pstr s1, pstr s2)
取長度
int getlength(pstr str)
字串比較
int cancat(pstr str, pstr s1, pstr s2)
str->ch =(char*)malloc(sizeof(char)*(s1->length+s2->length+1));
if(!str->ch)
return 0;
while(ilength)
while(jlength)
str->length = s1->length+s2->length;
return 1;
}
求子串
int display(pstr str)
printf("\n");
return 1;
}
輸出字串
int substring(pstr sub, pstr s,int pos, int len)
sub->ch[i]='\0';
sub->length = len;
return 1;
}
清空操作
int clearstring(pstr s)
測試**
#include #include "dynstring.h"
int main()
寫在最後
資料結構 堆分配表示的串
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 le...
動手實現 資料結構 之 「堆」
c 語言陣列方式實現最小堆 堆的定義 堆是一種經過排序的完全二叉樹,其中任一非終端節點的資料值均不大於 或不小於 其左孩子和右孩子節點的值 最小堆的二叉樹元素和陣列下標的對應關係 int arr 這對應的一棵最小堆二叉樹如下 12 3 4 5 6 7 再乙個更普通的最小堆例子如下 int arr2 ...
資料結構之堆
原帖 對於堆的資料結構的介紹,在網上搜了下,具體講的不是很多。發現比較好的一篇介紹堆的部落格是在此感謝他。通過對上面那篇部落格的學習,然後自己也去翻了下 演算法導論 裡面關於堆排序 heapsort 的介紹。這樣就對堆有了更加深刻的認識,在此,我結合自己的一點點理解,主要還是基於上面那篇部落格的內容...