C語言求二叉樹的高度
阿新 • • 發佈:2019-02-13
利用後續遍歷,遞迴實現
#include <stdio.h> #include <stdlib.h> typedef char ElementType; typedef struct TNode *Position; typedef Position BinTree; struct TNode{ ElementType Data; BinTree Left; BinTree Right; }; BinTree CreatBinTree(); /* 實現細節忽略 */ int GetHeight( BinTree BT ); int main() { BinTree BT = CreatBinTree(); printf("%d\n", GetHeight(BT)); return 0; } int GetHeight(BinTree BT) { int hl, hr, max; if (BT != NULL) { hl = GetHeight(BT->Left); hr = GetHeight(BT->Right); max = hl > hr ? hl : hr; return (max + 1); } else return 0; }