| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:C++二叉树的建立 和中序遍历,程序有错,该怎么改
只看楼主 加入收藏
c语言新手yu
Rank: 2
等 级:论坛游民
帖 子:38
专家分:17
注 册:2012-11-5
结帖率:62.5%
收藏
已结贴  问题点数:15 回复次数:1 
C++二叉树的建立 和中序遍历,程序有错,该怎么改
程序要求是:用三种遍历算法遍历该二叉树,给出对应的输出结果;
 写一个函数对二叉树搜索,若给出一个结点,根据其是否属于该树,输出true或者false。
#include<stdio.h>
#include<malloc.h>
void pridorder(BinNode *subtree)//前序遍历:ABDFEGHC
 {
  if(subtree!=NULL)
  {
  midorder(subtree->lc);
  cout<<subtree->value()<<",";
  midorder(subtree->rc);
  }
 }
void midorder(BinNode *subtree)//中序遍历:DFBGEHAC
 {
  if(subtree!=NULL)
  {
  midorder(subtree->lc);
  cout<<subtree->value()<<",";
  midorder(subtree->rc);
  }
 }
void laorder(BinNode *subtree)//后序遍历:FDGHEBCA
 {
  if(subtree!=NULL)
  {
  midorder(subtree->lc);
  cout<<subtree->value()<<",";
  midorder(subtree->rc);
  }
 }
bool find(BinNode *subtree,int key)//这里的搜索用的是中序遍历,也可以用前序或者后续,方法一样
 {
  if(subtree!=NULL)
  {
  midorder(subtree->lc);
  if(subtree->value()==key)
                                           return true;
  midorder(subtree->rc);
  }
                               return false;
 }
检测结果出现问题了
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 c语言新手yu 于 2014-1-2 11:54 编辑 ]
2014-01-02 11:50
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:15 
你的main() 函数呢

三十年河东,三十年河西,莫欺少年穷!
2014-01-04 11:54
快速回复:C++二叉树的建立 和中序遍历,程序有错,该怎么改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044913 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved