亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

回復編程愛好者請教的有關題二叉樹的創建問題

2019-11-17 05:47:16
字體:
來源:轉載
供稿:網友
很有幸大家能夠看得起偶,讓偶幫助大家解決一些常見的問題,在解決問題的過程當中,偶自己也是受益最大的。不過,由于本人的技術水平有限,離偶火力范圍太遠的問題偶也是鞭長莫及,還望大家見諒~這次,有一位同學提出說他的二叉樹搞的不是很清楚,想請求偶予以幫助,并且還附帶了一份源文件,偶仔細的看了一下,發現里面出的問題很大,大部分的都是一些很原則性的問題,比如說函數的定義,函數的數值傳遞等等問題,鑒于訪問本論壇的同學大都是大一、二的同學,基礎課學的都不是很透徹,那我就將這篇文章和我修改的源代碼一并附上,供大家學習和借鑒(但愿我這么做沒有侵犯同學的了個人的隱私--若有的話還請大家提出來,我下次就不附帶源文件,只發我的代碼部分,OK?)
這位同學的程序希望實現的功能就是:
用先根遍歷的方式,來創建一個二叉樹,當我們輸入0的時候,表示我們的當前節點沒有左子樹或者是右子樹。
------------------同學發過來的請求幫助的源代碼-------------
#include <stdio.h>
#include <stdlib.h>
#define NULL 0
strUCt BTnode
{int d;
 struct btnode *lchild;
 struct btnode *rchild;
};
typedef struct btnode* bt;
void main()
{int b, k;
 struct btnode *p,*t;
  scanf("%d",&b);
 if(b!=0)
  {p=(struct btnode * )malloc(sizeof(struct btnode));
   p->d=b;p->lchild=NULL;p->rchild=NULL;
   if(k==0) t=p;
   if(k==1) bt->lchild=p;
   if(k==2) bt->rchild=p;
   creatbt(p,1);
   creatbt(p,2);
  }
}
我想大家一定和我一樣看的一頭霧水吧,部分函數根本就沒有定義,怎么能夠進行調用呢?
其實,在C語言中,基本上函數的功能都是我們自己去實現的,這個就要靠我們的基本功了。-----------------------------下面是我更正的程序源代碼和附加的說明部分-------------------------
#include <stdio.h>
#include <stdlib.h>
#define NULL  0       /*若在Visual C++6.0中,可能要求其為空指針類型,即*/
#define DataType  int      /*#define NULL ((void *)0)  */
typedef struct BinTreeNode *PBinTreeNode;   /*定義指向二叉樹節點的指針類型*/
typedef PBinTreeNode *PBinTree;     /*定義一個保存根節點的指針類型*/struct BinTreeNode
{ DataType info;
  PBinTreeNode llink;
  PBinTreeNode rlink;
};
PBinTreeNode Create_BinTree(void); /*聲明Create_BinTree()函數,后面的Create_BinTreeeNode()要調用到它,不然的話會報錯*/
PBinTree Create_BinTreeRoot(void) /*/創建一個指向二叉樹根節點的指針*/
{PBinTree pbtree;
 pbtree=(PBinTree)malloc(sizeof(PBinTreeNode));
 if(pbtree==NULL) pbtree=(PBinTree)realloc(pbtree,sizeof(PBinTreeNode));
 *pbtree=Create_BinTree();  /*為根節點賦值*/
 return (pbtree);
}PBinTreeNode Create_BinTreeNode(void) /*/創建一個二叉樹的節點*/
{PBinTreeNode pbnode;
 pbnode=(PBinTreeNode)malloc(sizeof(PBinTreeNode));
 if(pbnode==NULL) pbnode=(PBinTreeNode)realloc(pbnode,sizeof(PBinTreeNode));
 else pbnode->llink=pbnode->rlink=(PBinTreeNode)NULL;
 return (pbnode);
}PBinTreeNode Create_BinTree(void)
{PBinTreeNode pbnode ;
 DataType i;
 printf("Please input number to the binatree: 0 to exit: ");
 scanf("%d", &i);
 if(i==0) pbnode= NULL;
 else
 {
  pbnode = (PBinTreeNode)malloc(sizeof(struct BinTreeNode));
  if(pbnode == NULL)
  {
   printf("Out of space! ");
   return pbnode ;
  }
  pbnode->info=i;
  pbnode->llink=Create_BinTree();  /*左遞歸調用Create_BinTree()*/
  pbnode->rlink=Create_BinTree();  /*右遞歸調用Create_BinTree()*/ 
 }
 return pbnode;
}
void outputTree(PBinTreeNode pbnode,int totalSpace) /*輸出我們的二叉樹*/
{int i;
 if(pbnode!=NULL) {totalSpace+=5;   /*右子樹與根節點相距5個空格*/
  outputTree(pbnode->rlink,totalSpace);
 for(i=0;i<totalSpace;i++) printf(" ");
  printf("%d ",pbnode->info);
  outputTree(pbnode->llink,totalSpace);   /*遞歸調用左子樹*/
 }
}int main()
{PBinTree pbtree;
 int totalSpace = 0;
 pbtree = Create_BinTreeRoot();    /*Create_BinTreeRoot()函數中調用了Create_BinTree() */
 outputTree(*pbtree,totalSpace);
 return 0;
}----------------------------------------程序的調試部分-------------------------
假設我們輸入的數值是: 1  2  0  0  3 0  0
我們得到的輸出結果為:
        3
  1
        2大家可以去試一下,有什么問題請在下面留言
我的
QQ: 37170732   郵箱:owenstone@sina.com.cn
歡迎大家加我,和我討論~~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久久下一站| 日韩精品在线视频| 精品免费在线视频| 久久精品视频播放| 欧美影院久久久| 亚洲人成电影网| 国产精品香蕉国产| 亚洲欧洲一区二区三区在线观看| 欧美黄色片在线观看| 国语自产偷拍精品视频偷| 91视频国产精品| 日韩在线观看免费| 中文字幕亚洲一区| 日韩精品中文字幕在线| 久久视频在线免费观看| …久久精品99久久香蕉国产| 在线观看欧美日韩国产| 国产精品久久久久久久久久久久久久| 日韩美女在线看| 久久综合网hezyo| 日韩va亚洲va欧洲va国产| 97色在线视频观看| 日韩中文字幕久久| 久久精品国产欧美激情| 国内精品视频久久| 日本午夜精品理论片a级appf发布| 欧美日韩爱爱视频| 欧美韩国理论所午夜片917电影| 奇米4444一区二区三区| 国产精品1区2区在线观看| 亚洲国产日韩欧美在线图片| 国内成人精品一区| 久久精品国产69国产精品亚洲| 欧美日韩精品在线视频| 国产一区二区欧美日韩| 国外成人免费在线播放| 亚洲国产日韩欧美在线99| 日本亚洲精品在线观看| 亚洲天堂视频在线观看| 欧美一级视频一区二区| 国产欧美精品一区二区三区介绍| 久久国产天堂福利天堂| 国产精品第10页| 国产欧美日韩免费看aⅴ视频| 国产精品第一页在线| 成人黄色在线观看| 95av在线视频| 欧美精品在线免费观看| 久久精品中文字幕电影| 国产精品露脸自拍| 国产精品视频男人的天堂| 久久久久国色av免费观看性色| 亚洲精品永久免费精品| 中文字幕一精品亚洲无线一区| 亚洲人成伊人成综合网久久久| 亚洲国产私拍精品国模在线观看| 欧美精品制服第一页| 国产精品成人播放| 欧美黑人巨大xxx极品| 亚洲第一级黄色片| 91大神在线播放精品| 久久久噜噜噜久久| 亚洲国产成人精品电影| 久久视频国产精品免费视频在线| 日韩人在线观看| 欧美在线精品免播放器视频| 亚洲第一网中文字幕| 在线观看免费高清视频97| 欧美激情一区二区久久久| 国产精品视频大全| 欧美视频国产精品| 91精品国产高清| 狠狠操狠狠色综合网| 日韩中文字幕精品| 国产视频福利一区| 欧美日韩国产二区| 欧美亚洲免费电影| 精品小视频在线| 欧美乱大交xxxxx| 成人福利在线观看| 欧美另类在线观看| 亚洲国产精品一区二区三区| 亚洲男子天堂网| 日韩精品在线电影| 日韩国产精品亚洲а∨天堂免| 尤物yw午夜国产精品视频明星| 亚洲精品av在线播放| 精品偷拍一区二区三区在线看| 亚洲国产欧美日韩精品| 国产精品成人免费电影| 欧美日本国产在线| 久久精品国产v日韩v亚洲| 久久精品亚洲94久久精品| 成人免费激情视频| 红桃av永久久久| 成人激情在线观看| 91在线|亚洲| 日本国产精品视频| 久久久91精品国产| 亚洲缚视频在线观看| 国产精品黄页免费高清在线观看| 青青草原成人在线视频| 国产精品男人爽免费视频1| 亚洲热线99精品视频| 欧美激情一级欧美精品| 麻豆精品精华液| 欧美日韩福利在线观看| 欧美黑人狂野猛交老妇| 日韩在线不卡视频| 欧美性猛交xxxx富婆| 亚洲欧美日韩第一区| 97人人爽人人喊人人模波多| 国产一级揄自揄精品视频| 这里只有精品久久| 69久久夜色精品国产69乱青草| 亚洲va久久久噜噜噜| 久久伊人精品视频| 日本精品久久久久久久| 亚洲欧美国产日韩天堂区| 91深夜福利视频| 欧美一区二区三区免费视| 欧美放荡办公室videos4k| 在线成人免费网站| 久久精品视频免费播放| 国产精品极品美女在线观看免费| 欧美精品激情视频| 亚洲免费福利视频| 91精品国产综合久久香蕉的用户体验| 亚洲欧美制服第一页| 国产精品视频久久久久| 国模叶桐国产精品一区| 欧美激情视频播放| 粉嫩老牛aⅴ一区二区三区| 日韩av一区二区在线| 久久中文字幕在线视频| 亚洲精品少妇网址| 欧美日韩福利电影| 欧美亚洲在线播放| 亚洲男人第一网站| 91久久久久久久久| 国产成人精品av在线| 欧美日韩免费区域视频在线观看| 亚洲视频在线视频| 日韩欧美在线视频观看| 日韩不卡中文字幕| 国产主播在线一区| 亚洲成人在线视频播放| 在线看福利67194| 国产精品99久久久久久久久久久久| 在线电影av不卡网址| 欧美午夜视频一区二区| 91精品国产综合久久男男| 国产视频999| 91精品国产91久久久久久久久| 亚洲男人天堂古典| 国产精品你懂得| 国产成人aa精品一区在线播放| 日本一区二三区好的精华液| 黑人巨大精品欧美一区二区免费| 欧美日韩亚洲精品内裤| 日韩在线视频网站| 亚洲女人天堂色在线7777| 欲色天天网综合久久| 精品成人在线视频|