我需要用递归函数搜索它的内容,所以它会返回一个布尔响应,这取决于是否找到了我读取的值。我不知道该怎么做。这是我定义的树的类型:
text=string[30];
list=^nodeL;
nodeL=record
title:text;
ISBN:text;
next:list;
end;
tree=^nodeT;
nodeT=record
cod:text;
l:list;
LC:tree;
RC:tree;
end;
这看起来像一个"请帮我做作业";,我不会做的。我会尽力帮你自己做作业。
我不知道你的任务是什么,所以我得做一些猜测。
我认为您的任务是编写一个递归函数,该函数将搜索树并返回布尔响应,这取决于是否找到值(函数的输入(。
我不知道这棵树是如何获得内容的。你说,你定义了树类型,所以我猜这意味着你没有得到一个已经有内容的树。因此,至少出于测试目的,您必须编写代码将内容添加到树中(以便进行搜索(。
我不知道你应该创造什么样的树。通常,树有关于项目在树中如何排列的规则。一种常见的树类型是二叉树,其中对于每个节点,左节点中的项(如果存在(是"0";小于";右侧节点中的项目(如果存在(。在向树中添加项目(即内容(时,您可能需要这样做。
我认为您需要更改树节点nodeT的定义(我可能错了(。树是一种链表,它通常不包含链表。通常,每个树节点都包含一个数据项(而不是项列表(。
如果我在做这项任务(并学习用Pascal编程(,我会做以下事情(按顺序(:
-
确保我了解链接列表(至少一个链接列表(。至少编写一个程序将数据添加到链接列表中,并进行搜索它(不要使用递归(。
-
确保我理解递归。阅读一些关于递归的教程(不使用链表或树(。例如";递归的第一教科书实例";。至少编写一个使用递归的程序(不要使用链表或树(。
-
确保我了解树木。阅读一些关于树的教程。例如;二进制搜索树";
-
完成作业。
p。S.您可能想要将文本类型的名称从"更改为";文本";,因为在Pascal中;文本";是预定义类型的名称,用于文本文件。