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

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    typedef struct BiTNode
    {
        char date[16];
        struct BiTNode *lchild,*rchild;
    }BiTNode,*BiTree;
    
    void INS(BiTree &Q,char *a)
    {
        BiTree S;
        if(!Q)
        {
            S=new BiTNode;
            strcpy(S->date,a);
            S->lchild=S->rchild=NULL;
            Q=S;
        }
        else if(strcmp(Q->date,a))
            INS(Q->lchild,a); 
        else if(strcmp(a,Q->date))
            INS(Q->rchild,a);
    }
    
    //创建二叉树
    void creB(BiTree &Q)
    {
        Q=NULL;//chu shi hua
        char a[16];
        while(~scanf("%s",a)&&a[0]!='#')
        {
            INS(Q,a);
        }
    }
    
    
    void priB(BiTree Q)
    {
        if(Q)
        {
            priB(Q->lchild);
            priB(Q->rchild);
            printf("%s ",Q->date);
        }
    }
    int main()
    {
        BiTree T;
        creB(T);
        priB(T);
        return 0;
    }
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    typedef struct BiTNode
    {
      int d;
      char date[16];
      struct BiTNode *lchild,*rchild;
    } BiTNode,*BiTree;
    char key[16];
    
    void INS(BiTree &Q,char *a,int n)
    {
      BiTree S;
      if(!Q)
      {
        S=new BiTNode;
        strcpy(S->date,a);
        S->d=n;
        S->lchild=S->rchild=NULL;
        Q=S;
      }
      else if(strcmp(Q->date,a))
        INS(Q->lchild,a,n);
        else if(strcmp(a,Q->date))
        INS(Q->rchild,a,n);
      }
    
    //创建
    void creB(BiTree &Q)
    {
      Q=NULL;//chu shi hua
      char a[16];
      int i=0;
      while(~scanf("%s",a)&&a[0]!='#')
      {
        INS(Q,a,i++);
      }
    }
    
    
    void priB(BiTree Q)
    {
      if(Q)
      {
        priB(Q->lchild);
        priB(Q->rchild);
        printf("%s ",Q->date);
      }
    }
    
    BiTree fin(BiTree Q,char *x)
    {
      BiTree p=NULL;
      if(Q)
      {
        if(strcmp(Q->date,key)==0)
          p=Q;
        else if(strcmp(Q->date,key)<0)
          p=fin(Q->rchild,key);
        else
          p=fin(Q->lchild,key);
      }
      return p;
    }
    
    int main()
    {
      BiTree K;
      BiTree T;
      creB(T);
      priB(T);
      printf("
    ");
      while(scanf("%s",key)&&key[0]!='#')
      {
        K=fin(T,key);
        if(K)
        printf("%s
    ",K->date);
      }
      return 0;
    }
  • 相关阅读:
    hisi3516/3519开发(二)—xshell连接串口
    linux svn使用
    IdentityServer4 源码介绍
    想写博客
    # VS2019 快捷键插入当前时间
    # 使用 vscode markdown 遇到的问题
    # 学Vue
    teXt使用
    Linux基础
    NopCommerce(Core)学习目录
  • 原文地址:https://www.cnblogs.com/1328497946TS/p/11066022.html
Copyright © 2011-2022 走看看