按層次順序建立和遍歷二叉樹

2021-08-19 23:17:52 字數 993 閱讀 6901

第一篇部落格,獻給了資料結構--二叉樹。

最近在學資料結構,總結一下二叉樹的按層次建立的方法,希望對此時的你有所幫助~

/*利用順序佇列,層次建立二叉樹*/

#include using namespace std;

#define maxsize 100

struct tnode //樹的資料結構

;struct queue //佇列的資料結構

;void creat(queue &q); //建立乙個空佇列

void enqueue(queue &q,tnode *t); //將t入隊

tnode *dequeue(queue &q); //出隊,並返回對頭元素

bool isempty(queue &q); //判斷佇列是否為空

tnode *creatbintree(); //按層次順序建立一棵二叉樹,並返回根節點

void showbintree(tnode *root); //層次遍歷二叉樹

int main()

void creat(queue &q)

void enqueue(queue &q, tnode *t)

q.rear = (q.rear + 1) % maxsize;

q.data[q.rear] = t;

}tnode *dequeue(queue &q)

bool isempty(queue &q)

tnode *creatbintree()

while (!isempty(q)) //當佇列不為空

cin >> a;

if (a == -1) //右孩子為空

p->rchild = null;

else

}return root;

}void showbintree(tnode *root)

cout << endl;

}

二叉樹建立和遍歷

二叉樹建立遍歷規則 1.先序 根 左 右 2.中序 左 根 右 3.後序 左 右 根 二叉樹定義和輔助函式如下 struct node void visit int data int indata 先序建立二叉樹 struct node createbitree 先序建立乙個二叉樹 return t...

二叉樹建立和遍歷

include include 帶返回值建立二叉樹 最簡單方法 節點資料結構 struct bs node typedef struct bs node tree tree head,p,root 建立二元查詢樹 有返回值的可以不傳參 沒有的話如何傳參 輸入0代表到了某個葉子節點 tree crea...

二叉樹建立和遍歷

二叉樹建立遍歷規則 1.先序 根 左 右 2.中序 左 根 右 3.後序 左 右 根 二叉樹定義和輔助函式例如以下 struct node void visit int data int indata 先序建立二叉樹 struct node createbitree 先序建立乙個二叉樹 return...