gpt4 book ai didi

matlab - 如何在matlab中实现优先级队列

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:43 26 4
gpt4 key购买 nike

matlab中有没有提供min priorityqueue功能的库

import java.util.PriorityQueue;
import java.util.*;

public class MyQueue {
Comparator<Double> c;
PriorityQueue<Double> PQ;

public MyQueue() {
c = new Comparator<Double>(){
public int compare(Double o1, Double o2){
if(o2 > o1) {
return -1;
} else if(o1 > o2) {
return 1;
} else {
return 0;
}
}
};
PQ = new PriorityQueue<Double>(1000,c);
}

public void addElement(double d) {
PQ.add(d);
}

public double removeElement() {
return(PQ.remove());
}
}

我已经在 java 中实现了这个优先级队列。我可以从 matlab 调用它。但是,我需要将每个成本与一个索引相关联。我的意思是这不仅是我需要存储的节点的成本,还有它的索引。我怎样才能做到这一点。我需要从 matlab 传递索引

最佳答案

您可以像这样使用 Java 的默认 PriorityQueue:

>> q=java.util.PriorityQueue;
>> q.add({value,index});

自 Java ≥ 1.5 起可用,自 7.0.4 (R14) 起所有 MATLAB 版本都预捆绑了它。

否则,您可以使用 file exchange 中的那个,你必须编译。

还有一个 Simulink阻止它,但我怀疑这就是你所追求的。

关于matlab - 如何在matlab中实现优先级队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469502/

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