Java BinarySearchTree船舶租赁记录保存

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)),其中事务代码表示所采取的行动(添加乘客、删除(从树中删除乘

这是家庭作业

对于我必须完成的任务,我必须为邮轮创建一个月的记录保存日志(由数字1-31表示)。每天有一次可容纳6人的巡航。如果某一天试图预订的人数超过6人,那么他们将被添加到队列中。当前乘客列表应该保存在一个二进制搜索树中。基本上,我们要从提供的文件中读取有关person对象的信息,并将它们插入到树中,与它们拾取的日期相对应。(文件将按以下顺序提供信息:(transactionCode day lastName firstName)),其中事务代码表示所采取的行动(添加乘客、删除(从树中删除乘客并从队列中添加下一名乘客)、打印(打印当前BST和当天等待列表)、出发(打印当天的最终列表和队列)

我要问的问题是关于创建一个BST和一个队列的方法,它在一个方法中代表每一天,并添加到这些BST。我在一个方法中留白以实现这一点。我已经创建了一个person对象类、一个BST类和一个Queue类。我可以在我的passenger类中创建一个Add方法,但是如何创建我是否会检查某一天是否已经存在一棵树,并将其添加到该树中,而不是创建一棵新树


我很茫然,如果你需要看任何课程,请留下评论。提前谢谢你。

如果我理解你的意思,以下是我认为你应该做的

  • 有一个节点数组,每个节点代表一天
  • 使节点保留字母
    x
    ,以便使其为空
  • 让根节点指向左侧和右侧,直到每个树中有六个节点
  • 同样,也可以创建另一个数组,每个数组表示一天
  • x
    填充每个节点,以表明它未被占用
  • 现在,当你想预订一名乘客时,通过在二叉树数组中查找其索引来确定当天的行程
  • 如果里面有一个
    x
    ,这意味着它是免费的,所以存储乘客的姓名
  • 如果其中有另一个节点,请检查左侧和右侧节点,直到所有六个节点都检查完毕
  • 如果所有六个都已填充,则转到节点的队列数组,转到当天的索引,如果是
    x
    ,则将其替换为乘客的姓名
  • 如果它不是一个
    x
    且根指针不为空,则说
    root->next=new Node(乘客姓名);
  • 如果根指针为空,则必须转到队列中的最后一个人,然后添加新的人
  • 如果一名乘客被删除一天,请转到队列中的索引,将根节点添加到二叉树中
  • 然后删除根节点中的名称,将其与下一行交换…直到没有其他行
我希望这有帮助。:)