二叉树利用中序+后序----->前序

来源:互联网 发布:wkwebview 加载本地js 编辑:程序博客网 时间:2024/06/14 15:28
#include<iostream>using namespace std;typedef struct TreeNode{char Data;TreeNode* Left;TreeNode* Right;}*BinTree;BinTree InPostpre(char* inorder, char * postorder, int length){BinTree BT;if (length >= 1){BT = (BinTree)malloc(sizeof(TreeNode));BT->Data = *(postorder+length-1);BT->Right = BT->Left = NULL;int i = 0;for (i = 0; i < length; i++){if (inorder[i] == *(postorder + length - 1))break;}BT->Left = InPostpre(inorder, postorder, i);BT->Right = InPostpre(inorder + i + 1, postorder + i , length - (i + 1));return BT;}return NULL;}void PreOrderTraversal(BinTree T){if (T){printf("%c", T->Data);PreOrderTraversal(T->Left);PreOrderTraversal(T->Right);}}int main(){char *inorder = "ADEFGHMZ";char *postorder = "AEFDHZMG";BinTree T = InPostpre(inorder, postorder, 8);//cout << T->Data << " " << T->Right << " " << T->Left;PreOrderTraversal(T);return 0;}

0 0
原创粉丝点击