第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如下數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,請問該怎么去修改?

如下數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,請問該怎么去修改?

/* Note:Your choice is C IDE */#include "stdio.h"#include <malloc.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10 #define ERROR 0#define OK 1#define OVERFLOW -2typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;typedef struct {int *base; int *top; int stacksize; } SqStack;int InitStack (SqStack *S){S->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));if (!S->base)exit (OVERFLOW); S->top = S->base;S->stacksize = STACK_INIT_SIZE;return OK;}int StackEmpty(*S){ //此處好象編譯出錯(cuò)?。。f(S->top==S->base) return OK;else return ERROR;}int Push (SqStack *S,int e) {if (S->top - S->base >= S->stacksize) {S->base = (int *) realloc ( S->base,(S->stacksize + STACKINCREMENT) * sizeof (int));if (!S->base) exit (OVERFLOW); S->top = S->base + S->stacksize;S->stacksize += STACKINCREMENT;}*S->top++ = e;return OK;}int Pop (SqStack *S, int *e) {if (S->top == S->base) return ERROR;*e = *--S->top;return OK;}BiTree CreateBiTree(BiTree T) { int ch;scanf("%d",&ch);if (ch==0) T = NULL;else {if (!(T = (BiTree)malloc(sizeof(BiTNode)))) return ERROR;T->lchild=CreateBiTree(T->lchild); T->data = ch; T->rchild=CreateBiTree(T->rchild); }return T;} int InOrderTraverse(BiTree T) { stack S;BiTree p;InitStack(&S); p = T;while (p || !StackEmpty(&S)) {if (p) { Push(&S, p); p = p->lchild; } else { Pop(&S, &p); if (p->data!=0) return ERROR;p = p->rchild;}}return OK;} main(){BiTree T;printf("chuang jian zhong xu er cha shu:\n");T=CreateBiTree(T);printf("bian li er cha shu :\n");InOrderTraverse(T); }這個(gè)中序遍歷算法 我不知道錯(cuò)在什么地方,請大家?guī)臀倚薷囊韵拢。?!ch=0 表示樹的葉子結(jié)點(diǎn)的左孩子為空
查看完整描述

3 回答

?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

1.int StackEmpty(*S){ //此處好象編譯出錯(cuò)!?。?br/>S沒聲明啊.
2.int InOrderTraverse(BiTree T) {
stack S;
你定義的棧類名字是SqStack
3.你的Push,Pop聲明的第二個(gè)參數(shù)是int,int *型,但main中調(diào)用時(shí)傳的是BiTree型.

查看完整回答
反對 回復(fù) 2022-01-23
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊

//好像算法有問題..死循環(huán)了.
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"//要加上這個(gè)頭文件,因?yàn)槟阌昧薳xit()函數(shù)
#include <malloc.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define ERROR 0
#define OK 1
#define OVERFLOW -2
typedef struct BiTNode{
int data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

typedef struct {
int *base;
int *top;
int stacksize;
} SqStack;

int InitStack (SqStack *S)
{
S->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if (!S->base)
exit (OVERFLOW);
S->top = S->base;
S->stacksize = STACK_INIT_SIZE;
return OK;
}

int StackEmpty(SqStack *S){ //此處好象編譯出錯(cuò)?。?!少了類型了.SqStack
if(S->top==S->base)
return OK;
else return ERROR;
}

int Push (SqStack *S,int e)
{
if (S->top - S->base >= S->stacksize)
{
S->base = (int *) realloc ( S->base,(S->stacksize + STACKINCREMENT) * sizeof (int));
if (!S->base)
exit (OVERFLOW);
S->top = S->base + S->stacksize;
S->stacksize += STACKINCREMENT;
}
*S->top++ = e;
return OK;
}

int Pop (SqStack *S, int *e)
{
if (S->top == S->base) return ERROR;
*e = *--S->top;
return OK;
}

BiTree CreateBiTree(BiTree T) {
int ch;
scanf("%d",&ch);
if (ch==0)
T = NULL;
else {
if (!(T = (BiTree)malloc(sizeof(BiTNode))))
return ERROR;

T->lchild=CreateBiTree(T->lchild);
T->data = ch;
T->rchild=CreateBiTree(T->rchild);
}
return T;
}

int InOrderTraverse(BiTree T) {

SqStack S; //應(yīng)該是SqStack
BiTree p;
InitStack(&S); p = T;
while (p || !StackEmpty(&S)) {
if (p) {
Push(&S, p->data); //p改成p->data是把data進(jìn)棧.
p = p->lchild;
}
else {
Pop(&S, &(p->data)); //p改成p->data是把data的地址賦.
if (p->data!=0) return ERROR;
p = p->rchild;
}
}
return OK;
}

void main()
{
BiTree T(0);
printf("chuang jian zhong xu er cha shu:\n");
T=CreateBiTree(T);
printf("bian li er cha shu :\n");
InOrderTraverse(T);
}

 

查看完整回答
反對 回復(fù) 2022-01-23
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

為什么不用遞歸?
void InOrderTraverse(BiTree T)
{
if(T != NULL)
{
InOrderTraverse(T->lChild);
Visit(T); //訪問T結(jié)點(diǎn)
InOrderTraverse(T->rChild);
}
}



查看完整回答
反對 回復(fù) 2022-01-23
  • 3 回答
  • 0 關(guān)注
  • 348 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)