多叉數層次遍歷

2021-07-22 18:46:15 字數 1407 閱讀 5380

1.給定一顆多叉樹,每個節點儲存乙個int型別數字且節點數字不重複,要求從上到下按層次列印每個節點的數字,每一層按從左到右的順序

要求:(1)實現一顆多叉數

(2) 根據自定義輸入,構造多叉樹;

(3)從左到右按層輸出多叉樹

輸入包含多行,每行有空格隔開的多個數字,第乙個數字為某乙個父節點的值,後面n個數字為該父節點的所有子節點的值,按從左到右的順序排列。所有及誒點的值為整數,去值範圍【0,100】

如:5 2 3 

2 6 7 8

(5為根節點,有兩個子節點,2為5的第乙個子節點,包含三個子節點)

輸出包含一行

用空格隔開

5 2 3 6 7 8

#include

#include

#include

#include

using namespace std;

#define max 100

typedef struct _mtree

mtree;

class queue

void push( mtree* p )

mtree * top()

void pop()

bool empty()

};mtree * searchnode(mtree *root,int data)

return null;

}mtree * buildtree(char *a,mtree *root)    

//不然需要先找到那個節點,根據data找

else 

flag  = 0;           

}else 

tail++;

top = tail;

}tail++;

}int data = atoi(top);

mtree *p = (mtree*) malloc(sizeof(mtree));

p->data = data;

p->size = 0;

childroot->element[childroot->size++] = p;

//printf("data = %d\n",data);

return root;

}void printtree(mtree* root) }

printf("\n");

}int main()

root = buildtree(a,root);

//printf("------------------------------%d\n",root->data);

}if(root == null) 

//printf("------------------------------%d\n",root->data);

printtree(root);

}

層次遍歷2叉樹

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

層次遍歷2叉樹

include include include include define max 50 鏈式二叉樹結構 typedef struct btree btree 靜態佇列,實現二叉樹層次遍歷 typedef struct queue queuenode 構造空二叉樹 btree initbtree ...

層次遍歷二叉樹

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