折纸代码,如果有错误请指正啊,我也是初学者。。 #include<iostream> #include<stdlib.h> #include <stdio.h> #include <stdarg.h> using namespace std; typedef struct Tree{ int data; struct Tree *left; struct Tree *right; }Tree; int creat_tree(Tree *&tree,int n){ if(n<=0) return 0; if(n==1){ Tree *p,*q; p=(Tree*)malloc(sizeof(Tree)); q=(Tree*)malloc(sizeof(Tree)); p->data=0; p->left=p->right=NULL; q->data=1; q->left=q->right=NULL; tree->left=p; tree->right=q; return 0; } creat_tree(tree->left,n-1); creat_tree(tree->right,n-1); return 0; } int init_tree(Tree *&tree,int n){ if(n>0){ tree=(Tree*)malloc(sizeof(Tree)); tree->data=0; tree->left=NULL; tree->right=NULL; } for(int i=1;i<n;i++){ creat_tree(tree,i); } return 0; } int zhongxu(Tree *&tree){ if(tree){ zhongxu(tree->left); cout<<tree->data<<" "; zhongxu(tree->right); } return 0; } int main(){ Tree *tree; init_tree(tree,4); zhongxu(tree); return 0; }
点赞 评论

相关推荐

04-03 12:09
東京大学 C++
点赞 评论 收藏
分享
牛客网
牛客企业服务