为什么编译时没有错误但是运行时输入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
提交
取消