谁来帮我看看这个排序二叉树怎么跑不起来?

2019-06-22 18:41:37 +08:00
 kirara
#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct TreeNode{
	ElemType data;
	struct TreeNode *l, *r;
}TreeNode, *BSTree;
void insert(BSTree *ST, int data)
{
	BSTree p;
	if(*ST == NULL)
	{
		p = new TreeNode;
		p->data = data;
		p->l = NULL;
		p->r = NULL;
		*ST = p;
	}
	else if(data<(*ST)->data)
	insert(&(*ST)->l, data);
	else if(data>(*ST)->data)
	insert(&(*ST)->r, data);
}
void view(BSTree *ST)
{
	view(&(*ST)->l);
	cout<<(*ST)->data<<" ";
	view(&(*ST)->l);
}
int main(void)
{
	int data;
	BSTree ST = NULL;
	for(int i=0; i<5; i++)
	{
		cin>>data;
		insert(&ST, data);
	}
	view(&ST);
	return 0;
}

我找了好久硬是没找出问题来。

978 次点击
所在节点    程序员
4 条回复
tsunli
2019-06-24 20:12:52 +08:00
void view(BSTree *ST)
{
if( !ST) return ;

view(&(*ST)->l);
cout<<(*ST)->data<<" ";
view(&(*ST)->l);
}
tsunli
2019-06-24 20:14:01 +08:00
f( ! *ST) return ;
tsunli
2019-06-24 20:30:01 +08:00
cout<<(*ST)->data<<" ";
view(&(*ST)->r);
kirara
2019-06-24 23:06:37 +08:00
@tsunli 感谢大佬相助!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/576486

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX