文章

56

粉丝

0

获赞

116

访问

2.7k

头像
二叉搜索树 题解:compare tree's preorder is enough
P1317 浙江大学机试题
发布于2026年3月11日 23:04
阅读数 33

#include <iostream>
using namespace std;

typedef struct BTNode {
	int value;
	struct BTNode* lc, * rc;
}BTNode, * BST;
void InsertTree(BST& T, int x)
{
	if (T == NULL)
	{
		T = new BTNode;
		T->value = x;
		T->lc = NULL;
		T->rc = NULL;
		return;
	}
	if (T->value == x)
		return;
	else if (T->value > x)
		InsertTree(T->lc, x);
	else
		InsertTree(T->rc, x);
}
void preorder(BST T, string& s)
{
	if (T)
	{
		s += T->value;
		preorder(T->lc, s);
		preorder(T->rc, s);
	}
}
void DeleteTree(BST& T)
{
	if (T)
	{
		DeleteTree(T->lc);
		DeleteTree(T->rc);
		delete T;
	}
}
int main()
{
	int n;
	while (cin >> n)
	{
		if (n == 0)
			break;
		BST T = NULL;
		string s;
		cin >> s;
		for (int i = 0; i < s.size(); i++)
			InsertTree(T, s[i] - '0');
		string ori;
		preorder(T, ori);//get T's inorder sequence;
		for (int i = 0; i < n; i++)
		{
			string test;
			cin &g...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发