【问题标题】:OOP linking classesOOP 链接类
【发布时间】:2019-04-11 09:19:16
【问题描述】:

我必须为按优先级排序的 IT 工单系统实现数据结构。所以我要实现一个优先队列。我有一个链表类(和一个节点类)和一个最小堆类,但不确定我想使用哪个。我还有一个主类,它基本上测试数据结构是否有效。然后我有一个请求类,其中包含有关请求的信息:

  • 字符串创建者姓名;
  • 字符串问题描述;
  • 字符串所有者姓名;
  • int uniqueID;
  • int priorityNo;

我坚持的是我如何将请求类中的数据链接到数据结构类,以便它可以存储它并正确执行方法。 任何帮助将不胜感激。

【问题讨论】:

  • 您的数据结构类应该包含一个add()insert() 方法或类似的东西来添加一个新对象。例如,Java 中的 ArrayList<String> arr 有一个 add() 用于将新字符串添加到列表中(arr.add("hello")
  • 您可以检查包含在 JDK 中的集合的实现,例如 ArrayListLinkedListPriorityQueue
  • 设定的任务是我不能使用任何集合,所以我创建了自己的最小堆和链表,但现在需要能够了解如何将请求链接到我选择的任何数据结构跨度>
  • 您自己检查收集的源代码和阅读与其他人提供的关于 SO 的问题的答案完全相同的代码有什么区别?

标签: java oop data-structures linked-list min-heap


【解决方案1】:

使用带有插入排序的LinkList结构,将最高优先级保持在头部或尾部,这样每次插入都会花费你O(n),而找到最小值总是花费你O(1),你需要实现comapreTo对于每个节点,您可以将其用于排序。

如果您有两个类,则可以将请求用作票证本身的装饰器。这样请求将“持有”票。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    相关资源
    最近更新 更多