今晚搞清楚了二叉树的建立和先序遍历,不过现在已经是0:32了,该睡觉了,贴上代码,明天补充细节,加油,晚安!
==============分割线=====================
#include<iostream>
#include <malloc.h>
#include<stdio.h>
@H_404_12@using @H_404_12@namespace std;
@H_404_12@struct node
{
@H_404_12@int data;
@H_404_12@struct node* left;
@H_404_12@struct node* right;
};
@H_404_12@void visit(node* BT);
node* creat();
node* creat(node* &T);
@H_404_12@void preOrder(node*T);
@H_404_12@int main()
{
node* BT;
BT=creat();
preOrder(BT);
@H_404_12@return 0;
}
@H_404_12@void visit(node* BT)
{
cout<<BT->data<<' ';
//cout<<"hi"<<endl;
}
node* creat()
{
node* T;
@H_404_12@int num;
scanf("%d",&num);
@H_404_12@if(num=='0')
T=NULL;
@H_404_12@else
{
T = (node*)malloc(@H_404_12@sizeof(node));
T->data = num;
//cout<<num;
T->left = creat();
T->right = creat();
}
@H_404_12@return T;
}
@H_404_12@void preOrder(node*T)
{
@H_404_12@if(T==NULL)
@H_404_12@return;
@H_404_12@else
{
visit(T);
preOrder(T->left);
preOrder(T->right);
}
}