資料介紹
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ǔ)的詳細(xì)資料概述 66次下載
- 如何提高你的C語言編程能力?帶你提升C語言編程能力 36次下載
- C語言簡介 2次下載
- C語言深度剖析 18次下載
- C語言入門經(jīng)典-C語言編程 126次下載
- C語言經(jīng)典算法 27次下載
- C語言簡單概述 0次下載
- C語言基礎(chǔ)教材
- C語言2.0
- C語言指針學(xué)習(xí)筆記 272次閱讀
- 按照這樣學(xué)習(xí)C語言,成為卷王不是夢! 338次閱讀
- 詳解C語言指針底層基本原理 1296次閱讀
- 深入探索Linux中的C語言 2015次閱讀
- C語言的循環(huán)與分支 966次閱讀
- C語言的變量-2 693次閱讀
- C語言的發(fā)展歷史 3205次閱讀
- C語言語法擴展 1183次閱讀
- C語言入門基礎(chǔ)知識科普 4850次閱讀
- 詳解C語言中的短路現(xiàn)象 4047次閱讀
- 應(yīng)該如何學(xué)習(xí)C語言?給學(xué)習(xí)C語言的同學(xué)幾點建議 3069次閱讀
- C語言和指針之間的關(guān)系分析 1169次閱讀
- C語言的簡介和特點說明 8053次閱讀
- c語言入門書籍推薦 4.9w次閱讀
- C語言的運行環(huán)境有哪些_哪些是值得推薦的_C語言常用開發(fā)環(huán)境詳解 10.7w次閱讀
下載排行
本周
- 1常用電子元器件集錦
- 1.72 MB | 24490次下載 | 免費
- 2PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊
- 3.03 MB | 12次下載 | 免費
- 3PC2466高電壓浪涌抑制器數(shù)據(jù)手冊
- 3.37 MB | 8次下載 | 免費
- 4ssd1306單片 CMOS OLED/PLED 驅(qū)動芯片中文手冊
- 1.66 MB | 5次下載 | 1 積分
- 5PC2596 40V 輸入 150KHz 3A 降壓型電源轉(zhuǎn)換器數(shù)據(jù)手冊
- 2.44 MB | 3次下載 | 免費
- 6臺式主板DDR5內(nèi)存插槽引腳功能表資料
- 0.17 MB | 2次下載 | 5 積分
- 7電子元件FVT-6S電壓控制溫補晶體振蕩器(VCTCXO):2.0×1.6mm封裝規(guī)格及應(yīng)用參數(shù)詳解
- 437.99 KB | 2次下載 | 免費
- 8ZYNALOG徴格半導(dǎo)體|ZGAD125S14技術(shù)參數(shù)書
- 982.53 KB | 2次下載 | 免費
本月
- 1常用電子元器件集錦
- 1.72 MB | 24490次下載 | 免費
- 2三相逆變主電路的原理圖和PCB資料合集免費下載
- 27.35 MB | 111次下載 | 1 積分
- 3運算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 12次下載 | 5 積分
- 5常用電子元器件介紹
- 3.21 MB | 12次下載 | 免費
- 6PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊
- 3.03 MB | 12次下載 | 免費
- 7PC2557正向高壓理想二極管控制電路中文手冊
- 1.80 MB | 8次下載 | 免費
- 8PC2559帶反向輸入保掮 理想二極管控制電路中文手冊
- 1.08 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73816次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評論