二叉樹C 實現

2021-06-09 04:32:12 字數 1146 閱讀 1456

最近整理原來的一些**,腦子有點不好使,還是記下來吧。

//binary_tree.h,遍歷包含了遞迴和非遞迴兩種,層次遍歷

#ifndef _binary_tree_h_

#define _binary_tree_h_

templatestruct binode

;templateclass bitree

;#endif

//bianry_tree.cpp

#include #include #include using namespace std;

templatebinode* bitree::getroot()

templatebitree::bitree()

templatebitree::~bitree()

templatebinode* bitree::create()

return pnode;

}templatevoid bitree::release( binode* root )

}templatevoid bitree::preorder(binode* node)

}templatevoid bitree::inorder(binode* node)

}templatevoid bitree::postorder(binode* node)

}templatevoid bitree::preordernonrec(binode* node)

if (!s.empty())

}}templatevoid bitree::inordernonrec(binode* node)

if (!s.empty())

}}templatevoid bitree::postordernonrec(binode* node)

else

} }templatevoid bitree::levelorder(binode* node)

}

【測試】
#include "list.h"

#include "binary_tree.h"

#include using namespace std;

int main()

C 實現二叉樹

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

C 實現二叉樹

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

C 二叉樹實現

二叉樹節點類 二叉樹結點類bintreenode宣告 templateclass bintreenode bintreenode getleft bintreenode getright t getdata void setleft bintreenode left void setright bi...