C 语言二叉树创建函数实现 - 详细解析与代码优化
{///'title///': ///'C 语言二叉树创建函数实现 - 详细解析与代码优化///', ///'description///': ///'本文详细介绍了使用 C 语言实现二叉树创建函数 createbtree() 的过程,并对代码进行优化,使其更加易读易懂。文中包含详细注释,并对代码中的常见错误进行分析和修正。///', ///'keywords///': ///'C语言, 二叉树, 创建函数, createbtree, 代码优化, 数据结构, 算法///', ///'content///': ///'#include<stdio.h>//n#include<stdlib.h>//ntypedef char elem;//ntypedef struct Node//n{//n elem data;//n struct Node *lchild;//n struct Node *rchild;//n}BTnode;//n//nvoid createbtree(BTnode *&b, char *str)//n{//n int maxsize = 10;//n BTnode *sto[maxsize], *p;//n int top = -1, k, j = 0;//n b = NULL;//n char ch;//n ch = str[j];//n while (str[j] != '//0')//n {//n switch (ch)//n {//n case '('://n top++;//n sto[top] = p;//n k = 1;//n break;//n case ','://n k = 2;//n break;//n case ')'://n top--;//n break;//n default://n p = (BTnode *)malloc(sizeof(BTnode));//n p->data = ch;//n p->lchild = p->rchild = NULL;//n if (b == NULL)//n b = p;//n else//n {//n switch (k)//n {//n case 1://n sto[top]->lchild = p;//n break;//n case 2://n sto[top]->rchild = p;//n break;//n }//n }//n j++;//n ch = str[j];//n }//n }//n}//n//nint main()//n{//n int maxsize, i = 0;//n BTnode *t;//n char *string = ///'x(a(b(c(z,y),d),d))///';//n while (string[i] != '//0')//n {//n if (string[i] != '(' && string[i] != ')' && string[i] != ',')//n maxsize = ++i;//n }//n printf(///'%d//n///', maxsize);//n createbtree(t, string);//n return 1;//n}//n///

原文地址: http://www.cveoy.top/t/topic/p3Lb 著作权归作者所有。请勿转载和采集!