void PreOrderCreate(BinTree *BT) {
BinTree_Type Data;
scanf("%d", &Data);
if (Data) {
BT = (BinTree *) malloc(sizeof(BinTree));
BT->Data = Data;
PreOrderCreate(BT->Left);
PreOrderCreate(BT->Right);
} else {
BT = NULL;
}
}
这是递归算法,刚写的。
你也可以到我的一个帖子里看下层序建立二叉树以及相关遍历算法。
百度搜 C实现二叉树(模块化集成,遍历的递归与非递归实现)
提示,用一个栈做中转,手机不好写代码