zoukankan      html  css  js  c++  java
  • 二叉树

    #include <iostream>
    #include "malloc.h"
    using namespace std;

    typedef struct BTNode
    {
     char data;
     struct BTNode *Lchild,*Rchild;
    }BTNode;

    struct BTNode *lpRoot,*temp;
    void visit(char a)
    {
     printf("%c ",a);
    }
    //先序遍历的递归算法
    void PreorderTraverse(BTNode *T)
    {
     if (T!=NULL)
     {
      cout<<T->data;
      PreorderTraverse(T->Lchild);
      PreorderTraverse(T->Rchild);
     }
    }

    //中序遍历的递归算法
    void InorderTraverse(BTNode *T)
    {
     if (T!=NULL)
     {
      InorderTraverse(T->Lchild);
      visit(T->data);
      InorderTraverse(T->Rchild);
     }
    }

    //后序遍历的递归算法
    void PostorderTraverse(BTNode *T)
    {
     if (T!=NULL)
     {
      PostorderTraverse(T->Lchild);
      PostorderTraverse(T->Rchild);
      visit(T->data);
     }
    }

    BTNode *Preorder_Create_BTree(BTNode *T)
    {
     char ch;
     cin>>ch;
     if (ch=='0')
     {
      T=NULL;
      return(T);
     }
     else
     {
      T=(BTNode*)malloc(sizeof(BTNode));
      T->data=ch;
      Preorder_Create_BTree(T->Lchild);
      Preorder_Create_BTree(T->Rchild);
      return(T);
     }
    }

    void Release(BTNode *T)
    {
     if (T!=NULL)
     {
      Release(T->Lchild);
      Release(T->Rchild);
      delete T;
      T=NULL;
     }
    }
    void main()
    {
     temp=Preorder_Create_BTree(lpRoot);

     PreorderTraverse(temp);
     getchar();
    }

  • 相关阅读:
    QQ空间爬虫--获取好友信息
    分层最短路-2018南京网赛L
    安装SSH,配置SSH无密码登陆
    树形DP--求树上任意两点间距离和
    JTS基本概念和使用
    odps编写UDF的实现
    oozie安装总结
    同步工具的选择
    转:hive面试题
    转:hive-列转行和行转列
  • 原文地址:https://www.cnblogs.com/batman425/p/3298998.html
Copyright © 2011-2022 走看看