gpt4 book ai didi

Java:排序队列

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:11 28 4
gpt4 key购买 nike

我正在为队列类型制作包装器,但每次添加元素时,我都想对其中的所有内容进行排序。大多数情况下它将是整数。我不太熟悉 Collections 框架,有什么简单的解决方案吗?

public class Round<Type> {

private Queue<Type> qe;

public Round(){
this.qe = new LinkedList<Type>();
}


public void push(Type p){
this.qe.offer(p);
//Collections.sort(this.qe); Here I want to sort this
}


public Type pop(){
return this.qe.poll();
}
}

最佳答案

你确定那是你想要的吗?

每次添加元素时都对所有内容进行排序似乎并不明智。

也许你真的想要一个PriorityQueue

如果每次你添加一个元素,你都重新排序整个东西,你必须非常小心执行不要以 O(n.log(n)) 插入的复杂性...这非常非常糟糕。

根据用于支持队列的实际数据结构,您可以做得比这更好,但它依赖于底层实现,我不建议这样做。

优先级队列允许在 O(log(n)) 时间内进行排队和出队,这对于您必须按顺序维护随机插入的结构非常有效。

关于Java:排序队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14397674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com