C 樹的層序遍歷

2021-07-14 05:19:03 字數 1333 閱讀 7909

層序遍歷的基本思路就是,

1.根節點入佇列。

2.根節點出隊,同時將根節點左兒子和右兒子入隊

3.結點出隊,同時將該節點的左兒子和右兒子入隊

4.重複3直到隊列為空

void layerprint(struct treenode* r)

}

#include

#include "fun.c"

struct

queue

;struct

stack

;struct treenode* pop(struct

stack* a)

int isempty(struct

stack* a)

void push(struct

stack* a,struct treenode *node)

void preprint(struct treenode *r)

else

}} /*while(p!=null)

else

p = tmp->right;

}} //push(&stack1,r);

//pop()*/

/*void layerprint(struct treenode* r)

*/void in(struct

queue* a,struct treenode* b)

struct treenode* out(struct

queue* a)

void layerprint(struct treenode* r)

}int main()

\\fun.檔案內容

#include

#include

struct treenode

node;

struct treenode* inittree()

void createtree(struct treenode* r)

else

}if(a->

data

>=p->

data)

else

}struct treenode* insert(struct treenode* r,int num)

else

else

return r;

}}void preorderprint(struct treenode* r)

}void preordersearch(struct treenode* r)

}

樹的層序遍歷

層序遍歷的基本思路就是,1.根節點入佇列。2.根節點出隊,同時將根節點左兒子和右兒子入隊 3.結點出隊,同時將該節點的左兒子和右兒子入隊 4.重複3直到隊列為空 void layerprint struct treenode r include include fun.c struct queue ...

C 森林的層序遍歷

用森林的二叉鍊錶表示法 1.注意與樹的層序遍歷的區別 需要先入隊根節點和根節點的右兄弟 3.45題 森林的層序遍歷 include using namespace std typedef char telemtype typedef struct tnode forest 佇列 typedef fo...

c 二叉樹的層序遍歷 二叉樹的層序遍歷及應用

二叉樹的遍歷實質問題就是,將二維結構線性化。深度優先遍歷對應的是前序 中序 後續遍歷 廣度優先對應的是層序遍歷。看完後閉著眼寫出二叉樹的四種遍歷結果 這篇文章從形象化方面描述了深度優先遍歷 當我們說遞迴時,到底是在說什麼 這篇文章則詳細分析了前序遍歷對棧的使用過程。今天深入學習一下層序遍歷,層序遍歷...