亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言建樹和操作樹的定義和函數嗎?

C語言建樹和操作樹的定義和函數嗎?

互換的青春 2019-03-31 06:06:07
C語言建樹和操作樹的定義和函數嗎?
查看完整描述

4 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

C語言和C++標準庫都不提供對數據結構的支持. C++的標準模板庫提供對一些數據結構的支持.

樹是一種比較基本的數據結構, 建樹和遍歷可以用遞歸實現, 但一般不推薦用遞歸, 可以用循環+棧完成.

查看完整回答
反對 回復 2019-04-11
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

大多數問題是函數名字寫錯 了。
#include<stdio.h>
#include<stdlib.h>

#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef int Status;
typedef char TElemType;
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

Status CreateBitree(BiTree T);
Status PreOrder(BiTree T);
Status InOrder(BiTree T);

Status CreateBitree(BiTree T)
{
char ch;
scanf("%c",&ch);
if(ch=='#')
T=NULL;
else{
T=(BiTree)malloc(sizeof(BiTNode));
if(!T);
exit(OVERFLOW);
T->data=ch;
CreateBitree(T->lchild);
CreateBitree(T->rchild);
}
return OK;
}

Status PreOrder(BiTree T)
{
if(T){
printf("%c",T->data);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
return OK;
}
Status InOrder(BiTree T)
{
if(T){
InOrder(T->lchild);
printf("%c",T->data);
InOrder(T->rchild);
}
return OK;
}
Status PostOder(BiTree T)
{
if(T){
PostOder(T->lchild);
PostOder(T->rchild);
printf("%c",T->data);
}
return OK;
}
int main()
{
BiTree T={'\0'};
printf("先序建樹:依次輸入二叉樹結點號,孩子為空時輸入空格\n");
CreateBitree(T);
printf("\n先序遍歷二叉樹為:");
PreOrder(T);
printf("\n中序遍歷二叉樹為:");
InOrder(T);
printf("\n后序遍歷二叉樹為:");
PostOder(T);
return 0;
}



查看完整回答
反對 回復 2019-04-11
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

#include"stdio.h"
#include"malloc.h"
typedef struct bitnode
{
char data;
struct bitnode *lchild,*rchild;
}bintnode,*bintree;
bintree createbitree()
{
bintree t;
char ch;
scanf("%c",&ch);
if(ch==' ')
t=NULL;
else
{
t=(bintnode *)malloc(sizeof(bintnode));
t->data=ch;
t->lchild=createbitree();
t->rchild=createbitree();
}
return(t);
}
這就是建樹的函數 要實現什么你自己在寫。。。



查看完整回答
反對 回復 2019-04-11
  • 4 回答
  • 0 關注
  • 1347 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號