matlab中有没有提供minpriorityqueue功能的库
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 版本中。
否则,您可以使用文件交换 http://www.mathworks.com/matlabcentral/fileexchange/24238-priority-queue-mexc++,你必须编译它。
还有一个Simulink http://www.mathworks.nl/help/simevents/ref/priorityqueue.html阻止它,但我怀疑这就是你所追求的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)