二叉樹的C 實現

2021-07-04 13:26:40 字數 804 閱讀 2328

1.二叉樹構建的幾種方法:

<1>基於陣列的順序儲存結構的實現

#includeusing namespace std;

#define n 10

class treenode

~treenode(){}

treenode*& getright()

treenode*& getleft()

private:

int value;

treenode* rightchild;

treenode* leftchild;

};treenode* create(int val)

int main()

; //建立乙個儲存節點位址的陣列

for (int i = 0; i < n; ++i) //連續產生n個節點

ptr[i]=create(i+1);

//將n個節點按照層次順序鏈結起來

for (int i = 0; i < n / 2; ++i)

system("pause");

return 0;

}

<2> 基於鍊錶結構的構建

templatevoid tree::createtree(treenode*& node)  

}

2.二叉樹的深度

templateint tree::depth(treenode*& node)

}int max(int s1, int s2)

C 實現二叉樹

其中的 linkstack.h 和 linkqueue 分別在 以下兩篇博文裡 linkstack linkqueue include include linkstack.h include linkqueue.h using namespace std 定義節點 templatestruct no...

二叉樹C 實現

最近整理原來的一些 腦子有點不好使,還是記下來吧。binary tree.h,遍歷包含了遞迴和非遞迴兩種,層次遍歷 ifndef binary tree h define binary tree h templatestruct binode templateclass bitree endif b...

C 實現二叉樹

實現 pragma once include include include using namespace std templatestruct bintreenode templateclass binarytree binarytree char str 根據先序字串行建立二叉樹 binary...