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

2021-08-28 06:02:24 字數 1459 閱讀 8410

學習參考: 嚴蔚敏: 《資料結構-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 的介紹。這樣就對堆有了更加深刻的認識,在此,我結合自己的一點點理解,主要還是基於上面那篇部落格的內容...