資源簡介
/*這是一個在字符環境中,用ASCII碼打印二叉樹形狀的算法。 采用層次遍法。 算法拙劣,僅供初學者做練習,(本人也是初學者,自學數據結構,剛好學到這二叉樹這一章,搞幾個二叉的例題,卻不知道其構造形狀,想調用圖形API做個美觀點的,卻有點偏離本章的學習目的,只好用字符打印, linux環境中打印的還可以,DOS屏幕如果不夠寬您輸出到文本,如果您有更好的算法一定不吝賜教。我的QQ:137241638 mail:hnflcp@139.com*/ void PBTNodePrint(PBTNode *pb[],int n,int h) { int l=-1, r=0, i,j,
代碼片段和文件信息
/*
這是一個在字符環境中,用ASCII碼打印二叉樹形狀的算法。
在Linux控制臺下寫的例題,在DOS中稍有點亂。
采用層次遍法。
算法拙劣,僅供初學者做練習,(本人也是初學者,自學數據結構,剛好學到這二叉樹這一章,
半路出家,基礎差有點吃力頭大,搞幾個二叉的例題,卻不知道其構造形狀,
想調用圖形API做個美觀點的,卻有點偏離本章的學習目的,只好用字符打印,
linux環境中打印的還可以,DOS中有點不穩定,如果您有更好的算法一定不吝賜教。
我的QQ:137241638?mail:hnflcp@139.com
*/
#include?
#include?
#define?MaxSize?100
//Pstart是二叉樹根結點在一行中的位置,一行最能打印124個字符,取其1/2。
//如果你的屏不夠寬的話,可以輸出文本文件里,?aa.exe>>aa.txt
#define?Pstart?62
typedef?struct?node?//二叉樹存儲結構
{
int????key;
int????data;
struct?node?*lchild
*rchild;
}BTNode;
typedef?struct?pnode????????//為打印二叉樹建了一個結構。
{
int?key;???????????????????//關鍵字數據1
int?data;??????????????????//關鍵字數據2
struct?pnode?*lchild??????//左孩子
?????????*rchlid??????//右孩子
?*parent;??????//父節點
int?lrflag????????????????//標記本節點是左孩子(等于0時),還是右孩子(等于1時)
space?????????????????//存儲本節點打印位置
level;?????????????????//存儲本節點所在層次。
}PBTNode;
/*建立二叉樹。
用括號表示法表示二叉樹字符串,創建二叉樹。
*/
BTN
評論
共有 條評論