構建簡單的二叉樹(C)

來源:互聯網
上載者:User

#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編譯通過...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.