当前位置:  技术问答>linux和unix

简单的二叉树插入操作,断错误一星期了~快疯掉了~~望高人指点

    来源: 互联网  发布时间:2016-05-25

    本文导语:  #include  #include  #include  #define MAX 100 typedef struct BTreeNode {   char data[40];   int level;   struct BTreeNode *left,*right; }BTreeNode,*pNode; int BTreeInsert(pNode root,pNode p) {   pNode q=root,qq=NULL;   while(q&&p->level>=q->level)   {   ...

#include 
#include 
#include 
#define MAX 100

typedef struct BTreeNode
{
  char data[40];
  int level;
  struct BTreeNode *left,*right;
}BTreeNode,*pNode;

int BTreeInsert(pNode root,pNode p)
{
  pNode q=root,qq=NULL;
  while(q&&p->level>=q->level)
  {
    qq=q;
    if(p->level>q->level)
      q=q->left;
    else if(p->level==q->level)
      q=q->right;
  }
  //q=p;
  if(p->level>qq->level) qq->left=p;
  else qq->right=p;
  return 0;
}

int main()
{
  pNode root=NULL,p;
  FILE *fp;
  char array[MAX][40];
  int lev,count=0;
while(count data,array[count]);
    p->level=lev;
    p->left=p->right=NULL;
    while(getchar()!='n')
      continue;
    puts("Insert");
    if(root==NULL) root=p;
    else BTreeInsert(root,p);
    count++;
    if(count level>=q->level) 如果你这个条件为false 就直接执行下面的if(p->level>qq->level) 这时qq=null当然出现段错误了

|
p=malloc(sizeof(pNode));   //指针大小只有4

|
综合以上两楼.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ MultiMaps 成员 insert():插入元素
  • access中记录插入时是不是总在最后一行插入的?
  • C++ Maps 成员 insert():插入元素
  • MySQL插入数据时插入无效列的解决方法
  • C++ Lists(链表) 成员 insert():插入一个元素到list中
  • 在javascript中(如onclick事件中)可以插入用JSP编写的验证权限的代码吗?那该怎样插入呢?
  • C++ Double Ended Queues(双向队列) 成员 insert():插入一个元素到双向队列中
  • 向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用
  • C++ Vectors 成员 insert():插入元素到Vector中
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • C++ Strings(字符串) 成员 insert():插入字符
  • 循环里面执行sql插入语句只执行第一个插入,为什么??
  • 在javascript中(如onclick事件中)可以插入用JSP编写的验证权限的代码吗?那该怎样插入呢? iis7站长之家
  • 用PreparedStatement ps 在数据库中插入记录,但还未提交事务,此时再用Delete语句为什么删除不了用 ps刚才插入的记录,如何可以删除未这
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
  • 当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示
  • HTML 5 <br> 标签-插入简单的换行符
  • 我想插入一条记录到库中,但有要判断username 是否存在于库中/(插入我以实现)<大家来看看)
  • c++类库Boost.Bimap(遍历,插入,查找,删除)参考代码
  • 急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3