c(資料結構)下樹的建立的非遞迴演算法

2021-07-31 18:00:23 字數 730 閱讀 4616

#include

#include

#include

#define m 100//定義最大的節點數

//建立二叉樹的型別

typedef struct tnode*bintree;//定義指標變數

//輸入字串返回二叉鍊錶

bintree ceartetree(char *str)else

}top++;//指標後移

s[top]=p;//將當前的值入棧

flag=1;//重新整理當前的flag

}else

}i++;//字元元素後移

}return b;//最後返回根節點b

}//先序遍歷,底層為遞迴演算法

void preorder(bintree b)else

}//中序遍歷,底層為遞迴演算法

void center(bintree b)else

}//後序遍歷,底層為遞迴演算法

void finall(bintree b)else

}//非遞迴演算法的先序遍歷

void firstfind(bintree b)else}}

//非遞迴演算法的中序遍歷

void secondfind(bintree b)else}}

//非遞迴演算法的後序遍歷

void thirdfind(bintree b)else if(count[top]==1)else}}

int main()

資料結構 非遞迴

include stdafx.h include using namespace std 二叉樹鏈式儲存的標頭檔案 typedef char datatype 結點屬性值型別 typedef struct node 二叉樹結點的型別 bintnode typedef bintnode bintree...

資料結構 樹非遞迴遍歷

這裡以二叉樹為乙個例子來進行樹的先序,中序,後序,層序,二叉樹的刪除操作。include include using namespace std typedef struct bitnodebitnode bitree bitnode newnode int ch void insert bitre...

C語言資料結構之二叉樹的非遞迴後序遍歷演算法

c語言資料結構之二叉樹的非遞迴後序遍歷演算法 前言 前序 中序 後序的非遞迴遍歷中,要數後序最為麻煩,如果只在棧中保留指向結點的指標,那是不夠的,必須有一些額外的資訊存放在棧中。方法有很多,這裡只舉一種,先定義棧結點的資料結構 typedef structsnode node 是二叉樹的結點結構,r...