#include
#include
#include
using namespace std;
typedef char t; //為本程式定義所使用的具體資料型別
struct btreenode
;//btreenode
class btree
;//btree
////建立二叉樹函式
//函式功能:建立一棵二叉鏈式結構
//函式引數:無
//引數返回值:
// current:二叉鏈式結構結點類指標
btreenode * btree::createbtree()
}//createbtree
void btree::create()
//create
////求樹高函式
//函式功能:計算所建立的二叉樹的高度
//函式引數:
// p:二叉鏈式結構結點類指標
//引數返回值:
// max:表示二叉樹高度的整數
int btree::depth(btreenode *p)
}//depth
int btree::depth()
//depth
////求葉子結點個數函式
//函式功能:計算二叉樹的葉子結點的個數
//函式引數:
// p:二叉鏈式結構結點類指標
//引數返回值:無
int btree::number(btreenode *p)
}//number
int btree::number()
//number
////前序遞迴遍歷函式
//函式功能:用前序遞迴遍歷演算法訪問二叉樹
//函式引數:
// p:二叉鏈式結構結點類指標
// visit:函式指標
//引數返回值:無
void btree::preorder(btreenode *p,void visit(btreenode *p)) //void visit(btreenode *p)為函式指標
}//preorder
void btree::preorder(void visit(btreenode *p))
if(!s.empty())
//if
}//while
}//preorder1
////中序遞迴遍歷函式
//函式功能:用中序遞迴遍歷演算法訪問二叉樹
//函式引數:
// p:二叉鏈式結構結點類指標
// visit:函式指標
//引數返回值:無
void btree::inorder(btreenode *p,void visit(btreenode *p))
}//inorder
void btree::inorder(void visit(btreenode *p))
if(!s.empty())
//if
}//while
}//inorder1
////後序遞迴遍歷函式
//函式功能:用後序遞迴遍歷演算法訪問二叉樹
//函式引數:
// p:二叉鏈式結構結點類指標
// visit:函式指標
//引數返回值:無
void btree::postorder(btreenode *p,void visit(btreenode *p))
}//postorder
void btree::postorder(void visit(btreenode *p))
else
else
}//else
}//while
}//postorder1
////層次遍歷函式
//函式功能:用層次遍歷演算法遍歷二叉樹
//函式引數:
// visit:函式指標
//引數返回值:無
void btree::layerorder(void visit(btreenode *p))
//while
}//layerorder
////輸出函式
//函式功能:把二叉樹輸出
//函式引數:
// p:二叉鏈式結構結點類指標
//引數返回值:無
void print(btreenode *p)
////主函式
//引數返回值:無
void main()
// switch
} // while
}// main
C 二叉樹的基本操作
c 實現二叉樹的基本操作 包括 新增節點 刪除節點 前序遍歷 中序遍歷 後續遍歷 層序遍歷 最大值 最小值 二叉樹的高度 標頭檔案 include class tree linknode head 表頭節點 新增節點 void addtreenode linknode node,linknode n...
C 二叉樹的基本操作
對於一棵二叉樹,有三種基本遍歷方式 1 前序遍歷 dlr 先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。歸結為 從根結點一直從左子樹向下直到葉結點,然後返回到葉結點的父親,再從其父結點的右子樹向下。2 中序遍歷 ldr 先中序遍歷左子樹,然後訪問根結點,最後遍歷右子樹。3 後序遍歷 lrd 先後序遍...
二叉樹基本操作
tree.h ifndef tree h define tree h include typedef int element 定義二叉樹 typedef struct nodetreenode void preorder treenode root 遞迴前序遍歷 void inorder treen...