• 构建简单的二叉树(C)


    #include "stdafx.h"

    #include "stdlib.h"
    #include "stdio.h"

    struct  tree{
    char info;
    struct tree *left;
    struct tree *right;}
    ;

    struct tree*root;

    void print_tree(struct tree *r,int l);

    struct tree *stree(struct tree *root,struct tree *r,char info)
    {
     if(!r)
     {
      r=(struct tree*)malloc(sizeof(struct tree));
      if(!r)
      {
       printf("Out of Mem");
       exit(0);
      }

      r->left = NULL;
      r->right= NULL;
      r->info = info;

      if(! root)return r;
      if(info<root->info)
       root->left = r;
      else
       root->right= r;
      return r;
     }
     if(info<r->info)
      stree(r,r->left ,info);
     else
      stree(r,r->right ,info);

     return root;
    }

    int main(void)
    {
     char s[80];
     root = NULL;
     do
     {
      printf("Enter a letter:\n");
      gets(s);
      root = stree(root,root,*s);
     }
     while(*s);

     print_tree(root,0);

     return 0;
    }

    void print_tree(struct tree *r,int l)
    {
     int i;
     if(!r)return;
     print_tree(r->right,l+1);
     for(i=0;i<1;++i)printf("  ");
     printf("%c\n",r->info);
     print_tree(r->left ,l+1);
    }

    VC6.0编译通过...

  • 相关阅读:
    [ext4]空间管理
    [ext4] 磁盘布局
    [ext4]磁盘布局
    [ext4]08 磁盘布局
    [ext4]07 磁盘布局
    [ext4]06 磁盘布局
    [ext4]05 磁盘布局
    jQuery之链式编程
    jQuery之排他思想
    jQuery之筛选方法
  • 原文地址:https://www.cnblogs.com/Mayvar/p/wanghonghua_201202200209.html
Copyright © 2020-2023  润新知