建立簡單的二叉樹
阿新 • • 發佈:2018-11-11
#include <stdio.h>
#include <stdlib.h>
typedef struct Node{
struct Snode *lchild;
struct Snode *rchild;
int data;
}*Node,Snode; void create(Node *l){
int c;
scanf("%d",&c);//若是使用字元型別則會跳轉,因為將enter也吸收進緩衝區
if(c==0){
*l = NULL;//子葉
}
else{
*l = (Snode *)malloc(sizeof(Snode));
(*l)->data = c;
create(&((*l)->lchild));
create(&((*l)->rchild));
}
}
void print(Node *l){
int c;
if(*l){
c = (*l)->data;
printf("%d",c);
print(&(*l)->lchild);
print(&(*l)->rchild);
}
} void main(){
Node l = NULL;
create(&l);
print(&l);
}
#include <stdlib.h>
typedef struct Node{
struct Snode *lchild;
struct Snode *rchild;
int data;
}*Node,Snode; void create(Node *l){
int c;
scanf("%d",&c);//若是使用字元型別則會跳轉,因為將enter也吸收進緩衝區
if(c==0){
*l = NULL;//子葉
}
else{
*l = (Snode *)malloc(sizeof(Snode));
(*l)->data = c;
create(&((*l)->lchild));
create(&((*l)->rchild));
}
}
void print(Node *l){
int c;
if(*l){
c = (*l)->data;
printf("%d",c);
print(&(*l)->lchild);
print(&(*l)->rchild);
}
} void main(){
Node l = NULL;
create(&l);
print(&l);
}