小白猫猫头 2021-11-09 20:40
浏览 4
已结题

运行以后输入二叉树就没有到选择那里了,说编译器的问题,要做修改,但是不知道怎么改

#include <stdio.h>
#include <stdlib.h>

#define MaxSize 20

typedef struct BiNode
{
char data;
struct BiNode *lchild;
struct BiNode *rchild;
}BitNode,*BiTree;

typedef struct
{
BiTree stack[MaxSize];
int top;
}sqstack;

void initStack(sqstack *s)
{
s->top=-1;
}

int emptyStack(sqstack *s)
{
if(s->top==-1)
return 1;
else
return 0;
}

void push(sqstack *s,BiTree t)
{
if(s->top==MaxSize-1)
printf("堆栈已满!");
else
{
s->top++;
s->stack[s->top]=t;
}
}

BiTree pop(sqstack *s)
{
BiTree p;
p=s->stack[s->top];
s->top--;
return p;
}

BiTree getTop(sqstack *s)
{
return s->stack[s->top];
}

void createBitree(BiTree *t)
{
char ch;
scanf("%c",&ch);
if(ch=='#') *t=NULL;
else
{
*t=(BiTree)malloc(sizeof(BitNode));
(*t)->data=ch;
createBitree(&(*t)->lchild);
createBitree(&(*t)->rchild);
}
}

void preorder(BiTree t)
{
if(t!=NULL)
{
printf("%c ",t->data);
preorder(t->lchild);
preorder(t->rchild);
}
}

void inorder(BiTree t)
{
if(t!=NULL)
{
inorder(t->lchild);
printf("%c ",t->data);
inorder(t->rchild);
}
}

void postorder(BiTree t)
{
if(t!=NULL)
{
postorder(t->lchild);
postorder(t->rchild);
printf("%c ",t->data);
}
}

int main()
{
BiTree T;
int select=0;
int c,d;
printf("请按照先序序列输入创建二叉树,以#号表示空:");
createBitree(&T);
do{
printf("******************************************\n");
printf("
[1] 二叉树先序递归遍历 \n");
printf("
[2] 二叉树中序递归遍历 \n");
printf("
[3] 二叉树后序递归遍历 \n");
printf("
[0] 退出系统*\n");
printf("*******************************************\n");
printf("请选择您想执行的功能:>>");
scanf("%d", &select);
if (select == 0) break;
switch (select){
case 1:
printf("该二叉树递归先序序列为:");
preorder(T);
printf("\n");
break;
case 2:
printf("该二叉树递归中序序列为:");
inorder(T);
printf("\n");
break;
case 3:
printf("该二叉树递归后序序列为:");
postorder(T);
printf("\n");
break;
}

}while(select);

}

img

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月17日
    • 创建了问题 11月9日

    悬赏问题

    • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
    • ¥20 数学建模来解决我这个问题
    • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
    • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
    • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
    • ¥30 NIRfast软件使用指导
    • ¥20 matlab仿真问题,求功率谱密度
    • ¥15 求micropython modbus-RTU 从机的代码或库?
    • ¥15 django5安装失败
    • ¥15 Java与Hbase相关问题