为了账号安全,请及时绑定邮箱和手机立即绑定

求大神指教,为什么我创建的排序二叉树输入值后程序就死掉了???

求大神指教,为什么我创建的排序二叉树输入值后程序就死掉了???

C
小嘿哟 2017-11-18 21:18:47
为什么编译时没有错误但是运行时输入m后再输入数据时却是直接有问题l???我查了改变实参指针的知识点,可是还是不会,请问可以在百忙之中帮忙看看么!!不胜感激!!!还有请问可以指点些vc调试的实用些的吗?我看了网上的视频但看不懂!!!!谢谢大家啦!#include<stdio.h>#include<stdlib.h>struct BinSearchNode;typedef struct BinSearchNode *PBinSearchNode;typedef struct BinSearchNode *BinSearchTree;typedef BinSearchTree *PBinSearchTree;struct BinSearchNode{ int info; PBinSearchNode llink,rlink;};int search(PBinSearchTree ptree,int key,PBinSearchNode *position){ PBinSearchNode p,q; p=*ptree; q=p;    while(p!=NULL) {    q=p;    if(p->info==key) {    *position=p;    return 1;}    else if(p->info>key) p=p->rlink;      else p=p->rlink; }    *position=q; return 0;}void preOrder(BinSearchTree t){ if(t==NULL)  return; printf("%d",t->info); preOrder(t->llink); preOrder(t->rlink);}void insert(PBinSearchTree ptree,int key,int a,PBinSearchNode *position){    PBinSearchNode p;    if(a==1) return ; p=(PBinSearchNode)malloc(sizeof(struct BinSearchNode)); if(p==NULL) { printf("error"); return ;} p->info=key; p->llink=p->rlink=NULL; if((*position)==NULL) *ptree=p; else if(key < (*position)->info) (*position)->llink=p;    else (*position)->rlink=p; return ;}int main() { PBinSearchNode *position; int i,key,m,a; PBinSearchTree ptree; position=NULL;ptree=NULL; printf("要构造一个有m个节点的二叉排序树"); scanf("%d",&m);    for(i=0;i<m;i++) {            scanf("%d",&key);           a=search(ptree,key,position);           insert(ptree,key,a,position); } preOrder(*ptree);
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1328 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信