最近整理原來的一些**,腦子有點不好使,還是記下來吧。
//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...