二叉樹的非遞迴建立

2021-06-27 07:36:18 字數 743 閱讀 5530

新手一枚,希望記下自己寫的**,希望各位親能夠給我提出意見和建議

#include

#include

#define max 999                 //max表示結點是否置為空

#define max_size 100      //棧的最大容量

typedef int elemtype;

typedef struct treenodetreenode;

typedef struct stackstack; 

void createstack(stack &s)

void push(stack &s,treenode* treenode)

void pop(stack &stack)

treenode* gettop(stack s)

bool isempty(stack s)

void createtree(treenode* &root)//判斷檢測樹根是否為空,不空則壓棧

while(!isempty(stack))//else

}//if對棧頂元素左孩子操作

if(top->rightchild == null)

}//if

pop(stack);

}//while}

void showtree(treenode* root)

}int main()

對於棧的操作 ,僅僅做了簡單操作;

非遞迴建立二叉樹

通過二叉鍊錶建立二叉樹,二叉鍊錶的節點結構如下 template class t struct binode 二叉樹類的結構如下 template class t class bitree 二叉樹建立的過程如下圖所示 可以利用棧來實現非遞迴建立,另外還需要建立一種棧節點結構,該結構包括 注意 sta...

二叉樹的非遞迴建立

問題描述 非遞迴建立如下圖所示的二叉樹 名 稱 建立二叉樹 非遞迴 作 者 brooke gao 時 間 2013 8 21 include include include define stacksize 50 define bitree size tree tree size define bi...

二叉樹 遞迴 非遞迴

include include include include using namespace std typedef struct node bintree typedef struct node1 btnode void creatbintree char s,bintree root 建立二叉...