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

    #include "stdio.h" #include "malloc.h"

    #define maxsize 100

    typedef int datatype;

    typedef struct node {  datatype data;  struct node *Lchild,*Rchild; }BTNode;

    void CreateBTNode(BTNode *&b,char *str) {  struct node *st[maxsize],*p=NULL;  int top=-1,k,j=0;  char ch;  b=NULL;  ch=str[j];  while(ch!='')  {   switch (ch)   {   case '(':    top++;    st[top]=p;    k=1;    break;   case ')':    top--;    break;   case ',':    k=2;    break;   default:    p=(BTNode*)malloc(sizeof(struct node));    p->data=ch;    p->Lchild=p->Rchild=NULL;             if(b==NULL)     b=p;    else    {     switch(k)     {     case 1:      st[top]->Lchild=p;                     break;     case 2:      st[top]->Rchild=p;      break;     }    }   }   j++;   ch=str[j];  } }

    void InOrder(BTNode *b) {  if (b!=NULL)  {   InOrder(b->Lchild);   printf("%c ",b->data);   InOrder(b->Rchild);  } }

    void PreOrder(BTNode *b) {  if (b!=NULL)  {   printf("%c ",b->data);   PreOrder(b->Lchild);   PreOrder(b->Rchild);  } } void main() {  struct node *st;  char *s="(D(B(A,C)E))";  CreateBTNode(st,s);  InOrder(st);  printf(" ");  PreOrder(st);  getchar(); }

  • 相关阅读:
    stl rope
    vijos1574 摇钱树
    图论 Dijkstra+堆优化
    c++输入优化
    Vijos1579 宿命的PSS 最小生成树
    快速求n阶多项式乘积
    c++stl map
    C#函数式程序设计之惰性列表工具——迭代器
    C#函数式程序设计之泛型(下)
    C#函数式程序设计之泛型(上)
  • 原文地址:https://www.cnblogs.com/batman425/p/3347010.html
Copyright © 2011-2022 走看看