資料介紹
2-8
給定一棵二叉樹的前序序列pre[low.1.hign1]和中序序列in[low2..hign2],試以二叉鏈
#include《stdio.h》
#include《stdlib.h》
#define size 100
typedef struct node//定義結點
{
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)/*遞歸算法構造函數,建立二叉鏈表*/
{
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語言究竟有什么差異呢?
- 標準c語言與嵌入式,嵌入式C語言與C語言的區別
- 怎樣學習C語言 7次下載
- C語言設計模式的程序資料合集 5次下載
- C語言的簡單介紹 1次下載
- 什么是C語言?C語言有哪些優勢及C語言的應用資料說明
- C語言程序設計教程之C語言基礎的詳細資料概述 66次下載
- 如何提高你的C語言編程能力?帶你提升C語言編程能力 36次下載
- C語言簡介 2次下載
- C語言深度剖析 18次下載
- C語言入門經典-C語言編程 126次下載
- C語言經典算法 27次下載
- C語言簡單概述 0次下載
- C語言基礎教材
- C語言2.0
- C語言指針學習筆記 272次閱讀
- 按照這樣學習C語言,成為卷王不是夢! 338次閱讀
- 詳解C語言指針底層基本原理 1296次閱讀
- 深入探索Linux中的C語言 2015次閱讀
- C語言的循環與分支 966次閱讀
- C語言的變量-2 693次閱讀
- C語言的發展歷史 3205次閱讀
- C語言語法擴展 1183次閱讀
- C語言入門基礎知識科普 4850次閱讀
- 詳解C語言中的短路現象 4047次閱讀
- 應該如何學習C語言?給學習C語言的同學幾點建議 3069次閱讀
- C語言和指針之間的關系分析 1169次閱讀
- C語言的簡介和特點說明 8053次閱讀
- c語言入門書籍推薦 4.9w次閱讀
- C語言的運行環境有哪些_哪些是值得推薦的_C語言常用開發環境詳解 10.7w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論