A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 2014571245 中级黑马   /  2014-4-26 13:55  /  1176 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 2014571245 于 2014-4-27 10:48 编辑
  1. #include <stdio.h>
  2. #include <malloc.h>

  3. typedef struct{
  4.     TNode* left;
  5.     TNode* right;
  6.     int value;
  7. } TNode;
  8. TNode* root=NULL;
  9. void append(int N);
  10. int main()
  11. {
  12.     append(63);
  13.     append(45);
  14.     append(32);
  15.     append(77);
  16.     append(96);
  17.     append(21);
  18.     append(17); // Again, 数字任意给出
  19. }
  20. void append(int N)
  21. {
  22.     TNode* NewNode=(TNode *)malloc(sizeof(TNode));NewNode->value=N;
  23.     if(root==NULL)
  24.     {
  25.         root=NewNode;
  26.         return;
  27.     }
  28.     else
  29.     {
  30.         TNode* temp;temp=root;
  31.         while((N>=temp.value && temp.left!=NULL) || (N<temp. value && temp.right!=NULL))
  32.         {
  33.             while(N>=temp.value && temp.left!=NULL)temp=temp.left;
  34.             while(N<temp.value && temp.right!=NULL)temp=temp.right;
  35.         }
  36.         if(N>=temp.value)
  37.             temp.left=NewNode;
  38.         else
  39.             temp.right=NewNode;
  40.         return;
  41.     }
  42. }





  43. 怎么会崩溃呢?求详解?





复制代码


点评

请用代码框  发表于 2014-4-26 15:16

5 个回复

倒序浏览
{:3_46:}建议你把程序不要直接复制进来,如图,把代码放这里面,大家才好帮你分析。。。这代码。。没法看。。
回复 使用道具 举报
#include <malloc.h>

把 <>   改成 “   ”

在把  mallooc. h 发上来
回复 使用道具 举报
问题1.结构体定义出错
typedef strct Node{
    strct Node *left;

}
回复 使用道具 举报
  问题1.结构体定义出错
typedef strct Node{
    strct Node *left;
   ......
}TNode; 这样才是定义!

第二:
使用指针访问结构成员需要用到->运算符而不是.运算符

第三有逻辑错误 ,指针问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马