二叉樹的前序中序後序遍歷

2021-10-23 07:43:42 字數 842 閱讀 5105

#include

#include

#define n 10

//定義二叉樹結構體node

typedef

struct node

node,

*pnode;

typedef

struct width

width,

*pwidth;

//建立樹

void

buildtree

(pnode *tree2,

char

*c)//每個節點先進鍊錶後進樹

//尾插法修改尾,進鍊表

ptail->pnext=lpnew;

ptail=lpnew;

//while每次從煉表頭開始找位置

while

(lpcur)

elseif(

null

==lpcur->now->pright)

//如果沒找到,鍊錶向下乙個節點偏移

lpcur=lpcur->pnext;

} i++;}

*tree2=tree;

//鍊錶是沒有free的,有可能記憶體洩漏

}//前序遍歷

void

preorder

(pnode tree)

}//中序遍歷

void

midorder

(pnode tree)

}//後序遍歷

void

lastorder

(pnode tree)

}int

main()

二叉樹遍歷(前序,中序,後序

二叉樹的遍歷有三種方式,如下 1 前序遍歷 dlr 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。簡記根 左 右。2 中序遍歷 ldr 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。簡記左 根 右。3 後序遍歷 lrd 首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。簡記左 右 根。例1 如上圖...

二叉樹的遍歷 前序 中序 後序

include includetypedef struct bintree treenode,b tree b tree root null 函式的宣告 b tree creat tree int n void print1 void preorder b tree pointer 前序遍歷 voi...

二叉樹的前序 中序 後序遍歷

樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...