層次遍歷2叉樹

2021-05-24 14:28:15 字數 745 閱讀 5046

#include

#include

#include

#include

#define max 50

//鏈式二叉樹結構

typedef struct btree 

btree;

//靜態佇列,實現二叉樹層次遍歷

typedef struct queue 

queuenode;

//構造空二叉樹

btree *initbtree()  

//構造空佇列

queuenode *initqueue()

//建立二叉樹,先序遍歷輸入各節點

void createbtree(btree **root)

else

}//入隊操作

int push(queuenode *s, btree *bnode)

else

}//出隊操作

int pop(queuenode *s)

else

}//讀佇列頭元素

btree *getfront(queuenode *s)

else

}//判斷佇列是否為空

int isemptyqueue(queuenode *q)

else

}main()

if ( node->prchild!= null )

pop(queue);

}print("/n");

}

層次遍歷2叉樹

修改日期 2009.5.26 修改人 吳強 修改原因 從前寫的 不夠規範 輸入要求 先序遍歷順序輸入各節點,號為空節點 例子 abd.ce.g.f.include include include include define max 50 鏈式二叉樹結構 typedef struct btree b...

層次遍歷二叉樹

問題 假定根節點位於第0層 1.層次遍歷二叉樹 每層換行分開 2.層次遍歷二叉樹指定的某層 本文 例如 上圖中1.123 4567 82.第三層 78可以看出得出第二問的解,第一問迎刃而解了,所以從問題二下手 1.層次遍歷二叉樹指定的某層 可以得出這樣的乙個結論 遍歷二叉樹的第k層,相當於遍歷二叉樹...

二叉樹層次遍歷

題目描述 從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。思路 二叉樹的層次遍歷,利用棧的先進後出的特性。struct treenode class solution res.push back temp while m.empty m中是從左往右入棧,這裡把它反過來,s中是從右往左...