折纸代码,如果有错误请指正啊,我也是初学者。。
#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;
}