二叉樹的基本操作: 遞迴建立和非遞迴建立、遍歷二叉樹、求樹高。
#include "iostream"
#include "malloc.h"
using
namespace
std;
#define maxsize 1024
typedef
char datatype;
typedef
struct node
bitree;
bitree*creattree()//非遞迴的方式建立完全二叉樹
if(rear%2==1)
front++;
} }
return root;
} bitree *creattree2(int i,int n)//定義的方式建立完全二叉樹
//不夠通用,僅提供一種參考
void preorder(bitree*p)//前序遞迴遍歷
} void inorder(bitree*p)//中序遞迴遍歷
} void ninorder(bitree*p)//非遞迴的中序遍歷,其他兩種非遞迴遍歷諸君自己實現
else
} s=stack[top];
top--;
cout
s=s->rchild;
} } void postorder(bitree*p)//後序遞迴遍歷
} void layer(bitree*p)//用佇列實現廣度優先遍歷
if (s->rchild!=null)
} } int countleaf(bitree*p)//計算葉子節點數目
int height(bitree*p)//計算數的高度
int main()
二叉樹基本操作
tree.h ifndef tree h define tree h include typedef int element 定義二叉樹 typedef struct nodetreenode void preorder treenode root 遞迴前序遍歷 void inorder treen...
二叉樹基本操作
一.二叉樹的定義 二.二叉樹的建立 定義一棵無資料的二叉樹 6 int left size 7 int right size 為了操作簡便,我們定義一棵不需要儲存資料的二叉樹,只要能儲存節點之間的邏輯關係就行,所以用兩個陣列來表示。left i 第i個節點的左子節點的序號 right i 第i個節點...
二叉樹基本操作
include include define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 j ch str j btnode f...