層次遍歷二叉樹 並輸出遍歷結果

2021-06-02 08:04:09 字數 742 閱讀 3169

#include

#include

#define max 100

typedef char elemtype;  

typedef struct bitnode bitnode,*bintree;

//建立二叉樹

void createbintree(bintree &t)

//按要求輸出二叉樹

void print_bintree(bintree t,int i )  //本題的關鍵所在, i表示結點所在層次,初次呼叫時i=0

if(t->rchild) print_bintree(t->rchild,i+1);  //本題的難點,函式遞迴來建立層次。

for(int j=1;j<=i;j++) printf("  "); //列印i個空格以表示出層次

printf("%c\n",t->data); //列印t元素,換行

if(t->lchild) print_bintree(t->lchild,i+1);

int main()

bintree t;int i=0;

printf("\n建立二叉樹\n");

createbintree (t);

printf("\n層次遍歷二叉樹 並輸出遍歷結果\n");

levleorder(t);

printf("\n按樹形列印輸出二叉樹\n");

print_bintree(t, i);

return 0;

層次遍歷輸出二叉樹

利用層次遍歷演算法,輸出二叉樹的各個結點.說明 需事先利用括號掃瞄法建立乙個二叉鏈bt,該二叉樹bt的括號表示法對應的字串為 a b d g h c e f,i include stdio.h include stdlib.h include ctype.h define maxsize 20 ty...

使用層次遍歷重建二叉樹並遍歷

58同城的一道題,蠻有意思的。利用層次遍歷後的陣列,進行二叉樹的重建。數值 1代表null。解題思路 那麼我們依然使用佇列,進行層次遍歷,進行重建,這邊有的問題是當示例為array 時,那麼需要注意去除null,因為null節點下面兩個節點必然為null。include include includ...

層次遍歷二叉樹

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