鱼C论坛

 找回密码
 立即注册
查看: 4901|回复: 9

简单地二叉树的创建和遍历,有点不会,求指点

[复制链接]
发表于 2014-5-8 11:13:31 | 显示全部楼层
运行了一下前面的程序,但运行不出结果,于是调试了一下,修改程序如下:
  1. //#include <stdio.h>
  2. //#include <stdlib.h>
  3. #include <iostream>
  4. using namespace std ;

  5. typedef struct btnode
  6. {
  7.         char val ;
  8.         struct btnode *lchild ,*rchild ;
  9. }BTNODE;

  10. BTNODE* create_bt (BTNODE* node )
  11. {
  12.         //int ch;
  13.         char ch;
  14.         //scanf("%c" ,&ch );
  15.         cin>>ch;
  16.         //BTNODE *p ,*head=NULL;//operate
  17.         //p=node;
  18.         //p=(BTNODE*)malloc(sizeof(BTNODE));
  19.         if('#'==ch)
  20.         {
  21.                 return NULL;
  22.         }
  23.         else
  24.         {
  25.                 node=(BTNODE*)malloc(sizeof(BTNODE));
  26.                 node->val=ch;
  27.                 node->lchild=create_bt(node->lchild);
  28.             node->rchild=create_bt(node->rchild);
  29.                         //if(p->val=ch ) head=p;
  30.                         //create_bt(p->lchild);
  31.                         //create_bt(p->rchild);
  32.         }

  33.         return (node) ;
  34. }
  35. void visit (char val ,int level)
  36. {
  37.         //printf("%c是%d层\n" ,val ,level);
  38.         cout<<val<<"是"<<level<<"层"<<endl;
  39. }
  40. void preorder (BTNODE* node ,int level)
  41. {
  42.         BTNODE* p ;
  43.         p=node;
  44.         if(p)
  45.         {
  46.                 visit(p->val , level );
  47.                 preorder(p->lchild ,level+1);
  48.                 preorder(p->rchild ,level+1);
  49.         }
  50. }
  51. int main ()
  52. {
  53.         int level=0 ;
  54.         BTNODE *head;
  55.         head=create_bt(NULL);
  56.         preorder(head ,level);
  57.         return 0;
  58. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-4 08:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表