当前位置:首页 > 数据结构二叉树的递归算法实验报告
山东轻工业学院实验报告(附页)
if(tree->data=='0') { }
cout<<\节点\是否有左子树(0:没有 1:有):\cout<<\请输入该节点的数据:\cin>>tree->data;
cin>>n; if(n==1) { Tree *lTree=(Tree*)malloc(sizeof(Tree)); tree->lTree=lTree; lTree->lTree=NULL; lTree->rTree=NULL; lTree->data='0'; CreatTree(tree->lTree);
cout<<\节点\是否有右子树(0:没有 cin>>i; if(i==0); else if(i==1) { Tree *rTree=(Tree*)malloc(sizeof(Tree)); tree->rTree=rTree; rTree->lTree=NULL; rTree->rTree=NULL; rTree->data='0'; CreatTree(tree->rTree);
}
}
else if(n==0)
:有):\
1山东轻工业学院实验报告(附页)
}
{
cout<<\节点\是否有右子树(0:没有 1:有):\cin>>m;
if(m==0); }
else if(m==1) { }
Tree *rTree=(Tree*)malloc(sizeof(Tree)); tree->rTree=rTree; rTree->lTree=NULL; rTree->rTree=NULL; rTree->data='0'; CreatTree(tree->rTree);
void PreTraverse(Tree*tree)//先序遍历递归 {
if(tree!=NULL) {
cout<
else if(tree->rTree!=NULL) { } else;
PreTraverse(tree->rTree); PreTraverse(tree->lTree); PreTraverse(tree->rTree);
山东轻工业学院实验报告(附页)
}
}
void PreOrderTraverse(Tree *tree)//先序遍历非递归 {
Tree *S[80]={NULL}; int top =0;
while ((tree!=NULL)||(top)) {
if (tree!=NULL) {
cout<
S[top] = tree;
tree = tree->lTree; }
void InTraverse(Tree *tree)//中序遍历递归 {
if(tree!=NULL) {
if(tree->lTree!=NULL) }
} else { }
tree = S[top]; top--;
tree = tree->rTree;
山东轻工业学院实验报告(附页)
}
}
{ }
else if(tree->rTree!=NULL) { } else
cout<
void InOrderTraverse(Tree *tree)//中序遍历非递归 {
Tree *D[80]={NULL}; int top =0;
while ((tree!=NULL)||(top)) {
if (tree!=NULL) {
top++;
D[top] = tree;
tree = tree->lTree;
} else {
tree = D[top]; top--;
共分享92篇相关文档