69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include<malloc.h>
/**
* 树节点定义
*/
typedef struct BinaryTreeNode {
char data;
struct BinaryTreeNode *leftNode, *rightNode;
} BinaryTreeNode, *BinaryTree;
/**
* 先序创建二叉树
*/
int createBitaryTree(BinaryTree *binaryTree) {
char ch;
scanf("%c", &ch);
if (ch ==' '){
*binaryTree = NULL;
}
else {
*binaryTree = (BinaryTree) malloc(sizeof(BinaryTreeNode));
(*binaryTree)->data = ch;
createBitaryTree(&(*binaryTree)->leftNode);
createBitaryTree(&(*binaryTree)->rightNode);
}
return 1;
}
/**
* 二叉树的遍历
*/
int leftSearch(BinaryTree binaryTree) {
if (binaryTree != NULL) {
printf("%c ", binaryTree->data);
leftSearch(binaryTree->leftNode);
leftSearch(binaryTree->rightNode);
return 0;
}
else{
return 1;
}
}
int main() {
printf("please input:");
BinaryTree bt;
createBitaryTree(bt);
leftSearch(bt);
return 0;
}