CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

关于查找二叉树的一个插入节点小问题

楼主lxb365(to be loved)2005-11-04 18:31:45 在 C/C++ / C++ 语言 提问

原代码如下:  
  void   Tree::insertNode(const   int   &value)  
  {  
  insertNodeHelper(&rootptr,value);  
  }  
   
  void   Tree::insertNodeHelper(int   **ptr,   const   int   &value)  
  {  
  if(*ptr==0)  
  *ptr=new   int   (value);  
  else  
  if(value<(*ptr)->data)  
  insertNodeHelper(&((*ptr)->leftptr),value);  
  else  
  if(value>(*ptr)->data)  
  insertNodeHelper(&((*ptr)->rightptr),value);  
  else  
  cout<<value<<"   dup"<<endl;  
  }  
  我想不通为什么在查入操作的时候,传入的是根节点的地址&rootptr,我觉得直接插入rootptr也可以啊,于是修改如下:  
  void   Treeint::insertNode(const   int   &value)  
  {  
  insertNodeHelper(rootptr,value);  
  }  
   
  void   Tree::insertNodeHelper(int   *ptr,   const   int   &value)  
  {  
  if(ptr==0)  
  ptr=new   int   (value);  
  else  
  if(value<ptr->data)  
  insertNodeHelper(ptr->leftptr,value);  
  else  
  if(value>ptr->data)  
  insertNodeHelper(ptr->rightptr,value);  
  else  
  cout<<value<<"   dup"<<endl;  
  }  
  可是运行后却发现插入操作没有成功,谁能告诉我这这是怎么回事? 问题点数:10、回复次数:1Top

1 楼qhfu(改个名字)回复于 2005-11-04 19:52:49 得分 10

因为传进去的是copy,所以改变只是copy值,,原来的值没有改变.Top

相关问题

  • 我写了一个链表的创建,删除节点,查找节点,插入节点的几个算法
  • 问题:二叉树插入与查找,
  • 查找定位树中的节点
  • 关于XML查找节点的问题!
  • TreeView 中插入节点问题
  • CTreeCtrl如何插入一个节点
  • 关于插入XML节点的问题,
  • 如何treeview中插入节点?
  • 怎样在treeview控件的节点中间插入节点?
  • 插入树节点,参数插入的问题

关键词

  • insertnodehelper
  • ptr
  • elseif
  • void tree
  • const
  • data

得分解答快速导航

  • 帖主:lxb365
  • qhfu

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo