Java BinarySearchTree船舶租赁记录保存
这是家庭作业 对于我必须完成的任务,我必须为邮轮创建一个月的记录保存日志(由数字1-31表示)。每天有一次可容纳6人的巡航。如果某一天试图预订的人数超过6人,那么他们将被添加到队列中。当前乘客列表应该保存在一个二进制搜索树中。基本上,我们要从提供的文件中读取有关person对象的信息,并将它们插入到树中,与它们拾取的日期相对应。(文件将按以下顺序提供信息:(transactionCode day lastName firstName)),其中事务代码表示所采取的行动(添加乘客、删除(从树中删除乘客并从队列中添加下一名乘客)、打印(打印当前BST和当天等待列表)、出发(打印当天的最终列表和队列) 我要问的问题是关于创建一个BST和一个队列的方法,它在一个方法中代表每一天,并添加到这些BST。我在一个方法中留白以实现这一点。我已经创建了一个person对象类、一个BST类和一个Queue类。我可以在我的passenger类中创建一个Add方法,但是如何创建我是否会检查某一天是否已经存在一棵树,并将其添加到该树中,而不是创建一棵新树Java BinarySearchTree船舶租赁记录保存,java,linked-list,queue,binary-search-tree,Java,Linked List,Queue,Binary Search Tree,这是家庭作业 对于我必须完成的任务,我必须为邮轮创建一个月的记录保存日志(由数字1-31表示)。每天有一次可容纳6人的巡航。如果某一天试图预订的人数超过6人,那么他们将被添加到队列中。当前乘客列表应该保存在一个二进制搜索树中。基本上,我们要从提供的文件中读取有关person对象的信息,并将它们插入到树中,与它们拾取的日期相对应。(文件将按以下顺序提供信息:(transactionCode day lastName firstName)),其中事务代码表示所采取的行动(添加乘客、删除(从树中删除乘
我很茫然,如果你需要看任何课程,请留下评论。提前谢谢你。如果我理解你的意思,以下是我认为你应该做的
- 有一个节点数组,每个节点代表一天
- 使节点保留字母
,以便使其为空x
- 让根节点指向左侧和右侧,直到每个树中有六个节点
- 同样,也可以创建另一个数组,每个数组表示一天
- 用
填充每个节点,以表明它未被占用x
- 现在,当你想预订一名乘客时,通过在二叉树数组中查找其索引来确定当天的行程
- 如果里面有一个
,这意味着它是免费的,所以存储乘客的姓名x
- 如果其中有另一个节点,请检查左侧和右侧节点,直到所有六个节点都检查完毕
- 如果所有六个都已填充,则转到节点的队列数组,转到当天的索引,如果是
,则将其替换为乘客的姓名x
- 如果它不是一个
且根指针不为空,则说x
root->next=new Node(乘客姓名);
- 如果根指针为空,则必须转到队列中的最后一个人,然后添加新的人
- 如果一名乘客被删除一天,请转到队列中的索引,将根节点添加到二叉树中
- 然后删除根节点中的名称,将其与下一行交换…直到没有其他行