資料介紹
2-8
給定一棵二叉樹的前序序列pre[low.1.hign1]和中序序列in[low2..hign2],試以二叉鏈
#include《stdio.h》
#include《stdlib.h》
#define size 100
typedef struct node//定義結(jié)點
{
char data;
struct node *lchild,*rchild;
} JD,*BitTree;
int search(char ino[],char pre)//在中序序列中查找先序中該元素所在位置
{
int i=0;
while(ino[i]!=pre&&ino[i])
i++;
if(ino[i]==pre)
return i;
else
return -1;
}
void CrtBT(BitTree &T,char pre[],char ino[],int ps,int is,int n)/*遞歸算法構(gòu)造函數(shù),建立二叉鏈表*/
{
int k;
if(n==0)
T=NULL;
else
{
k=search(ino,pre[ps]);
if(k==-1)
puts(“error!”);
else
{
T=(JD*)malloc(sizeof(JD));
T-》data=pre[ps];
if(k==is)
T-》lchild=NULL;
else
CrtBT(T-》lchild,pre,ino,ps+1,is,k-is);
if(k==is+n-1)
T-》rchild=NULL;
else
CrtBT(T-》rchild,pre,ino,ps+1+(k-is),k+1,n-(k-is)-1);
}
}
}
//先序遍歷
void PreOrder(BitTree T)
{
if(T)
{
printf(“%c”,T-》data);
PreOrder(T-》lchild);
PreOrder(T-》rchild);
}
}
//中序遍歷
void InOrder(BitTree T)
{
if(T)
{
InOrder(T-》lchild);
printf(“%c”,T-》data);
InOrder(T-》rchild);
}
}
//后序遍歷(左-》右-》根),
int PostOrder(BitTree T)
{
if(T)
{
PostOrder(T-》lchild);
PostOrder(T-》rchild);
printf(“%c”,T-》data);
}
else
return 1;
}
void main()
{
char pre[size],ino[size];
puts(“輸入先序序列:”);
gets(pre);
puts(“輸入中序序列:”);
gets(ino);
BitTree T=NULL;
CrtBT(T,pre,ino,0,0,7);
printf(“先序遍歷的二叉樹:”);
PreOrder(T);
printf(“\n”);
printf(“中序遍歷的二叉樹:”);
InOrder(T);
printf(“\n”);
printf(“后序遍歷的二叉樹:”);
PostOrder(T);
printf(“\n”);
}
掃碼添加小助手
加入工程師交流群
- [ 愛找茬 ]都是C語言,單片機C語言和普通的C語言究竟有什么差異呢?
- 標(biāo)準(zhǔn)c語言與嵌入式,嵌入式C語言與C語言的區(qū)別
- 怎樣學(xué)習(xí)C語言 7次下載
- C語言設(shè)計模式的程序資料合集 5次下載
- C語言的簡單介紹 1次下載
- 什么是C語言?C語言有哪些優(yōu)勢及C語言的應(yīng)用資料說明
- C語言程序設(shè)計教程之C語言基礎(chǔ)的詳細資料概述 66次下載
- C51單片機C語言與標(biāo)準(zhǔn)C語言有什么區(qū)別? 134次下載
- 如何提高你的C語言編程能力?帶你提升C語言編程能力 36次下載
- C語言常見習(xí)題與答案 6次下載
- C語言入門經(jīng)典-C語言編程 132次下載
- C語言經(jīng)典算法 28次下載
- C語言簡單概述 0次下載
- C語言基礎(chǔ)教材
- C語言2.0
- C語言指針學(xué)習(xí)筆記 980次閱讀
- 按照這樣學(xué)習(xí)C語言,成為卷王不是夢! 932次閱讀
- 詳解C語言指針底層基本原理 2.3k次閱讀
- 深入探索Linux中的C語言 2.8k次閱讀
- C語言的循環(huán)與分支 1.7k次閱讀
- C語言的變量-2 1.4k次閱讀
- C語言的發(fā)展歷史 5k次閱讀
- C語言語法擴展 2.2k次閱讀
- C語言入門基礎(chǔ)知識科普 5.5k次閱讀
- 詳解C語言中的短路現(xiàn)象 4.5k次閱讀
- 應(yīng)該如何學(xué)習(xí)C語言?給學(xué)習(xí)C語言的同學(xué)幾點建議 3.7k次閱讀
- C語言和指針之間的關(guān)系分析 1.4k次閱讀
- C語言的簡介和特點說明 8.8k次閱讀
- c語言入門書籍推薦 8.7w次閱讀
- C語言的運行環(huán)境有哪些_哪些是值得推薦的_C語言常用開發(fā)環(huán)境詳解 11w次閱讀
下載排行
本周
- 11節(jié)電池用電池保護IC S-8261D系列數(shù)據(jù)手冊
- 3.07 MB | 1次下載 | 1 積分
- 2PT8P2107 觸控 IO 型 8-Bit MCU規(guī)格書
- 3.73 MB | 次下載 | 免費
- 3氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
- 0.10 MB | 次下載 | 免費
- 4AU-48雙麥多功能語音處理模組規(guī)格書(5)
- 2.24 MB | 次下載 | 免費
- 5WX-0813_AI_ENC語音處理模組規(guī)格書
- 907.46 KB | 次下載 | 免費
- 6ESI Allegro XP 大尺寸MLCC測試分選機規(guī)格書
- 0.66 MB | 次下載 | 免費
- 7ESI Allegro 小尺寸MLCC測試分選機規(guī)格書
- 0.49 MB | 次下載 | 免費
- 8中科源CPET簡介及產(chǎn)品體系簡介
- 0.01 MB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 20次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計解析
- 0.89 MB | 14次下載 | 5 積分
- 3耗盡型MOS FET產(chǎn)品目錄選型表
- 0.14 MB | 3次下載 | 免費
- 4簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 5FP7135V060-G1/FP7125替代物料pin to pin
- 495.40 KB | 1次下載 | 免費
- 62EDL05x06xx系列 600V半橋門驅(qū)動器帶集成自舉二極管(BSD)手冊
- 0.69 MB | 1次下載 | 免費
- 7TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺
- 1.51 MB | 1次下載 | 免費
- 81節(jié)電池用電池保護IC S-8261D系列數(shù)據(jù)手冊
- 3.07 MB | 1次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191457次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73831次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論