C:C语言前序创建二叉树的两种方式和前序遍历二叉树的方法

xiaoxiao2021-02-28  37

#include<stdio.h> #include<stdlib.h> typedef struct BiTreeNode { int data; struct BiTreeNode *lchild,*rchild; }BiTreeNode,*LinkBiTreeNode; LinkBiTreeNode CreateBiTree1(){ int Data; LinkBiTreeNode node; scanf_s("%d",&Data); if (Data == 0) { node = NULL; } else{ node = (LinkBiTreeNode)malloc(sizeof(BiTreeNode)); node->data = Data; node->lchild = CreateBiTree1(); node->rchild =CreateBiTree1(); } return node; } void CreateBiTree2(LinkBiTreeNode *node){ int Data; scanf_s("%d",&Data); if (Data == 0) { *node = NULL; } else{ *node = (LinkBiTreeNode)malloc(sizeof(BiTreeNode)); (*node)->data = Data; CreateBiTree2(&(*node)->lchild); CreateBiTree2(&(*node)->rchild); } } void PreOrder(LinkBiTreeNode node) { if (node != NULL) { printf("%d\n", node->data); PreOrder(node->lchild); PreOrder(node->rchild); } } int main(void){ LinkBiTreeNode T = NULL; // T = CreateBiTree1(); // CreateBiTree2(&T); // PreOrder(T); // getchar(); return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-2632474.html

最新回复(0)