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...