Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB中是否有“队列”?

我想将递归函数转换为迭代函数。我通常要做的是,初始化一个队列,将第一个作业放入队列。然后在while循环中,我消耗了队列中的作业并将新作业添加到队列中。如果我的递归函数多次调用自身(例如,走许多分支的树),则会添加多个作业。伪代码:

queue = new Queue(); queue.put(param); result = 0; while (!queue.isEmpty()) { param = queue.remove(); // process param and obtain new param(s) // change result queue.add(param1); queue.add(param2); } return result; 我在MATLAB中找不到任何类似于结构的队列。我可以使用向量来模拟队列,将3加到队列就像:

a = [a 3] 和删除元素是

val = a(1); a(1) = []; 如果我正确地使用了MATLAB,这种方法将成为性能杀手。

在MATLAB中有使用队列的明智方法吗?

那么其他数据结构呢?



回答:

如果您坚持使用正确的数据结构,则可以在MATLAB内部使用Java:

import java.util.LinkedList q = LinkedList(); q.add('item1'); q.add(2); q.add([3 3 3]); item = q.remove(); q.add('item4');

更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 22:45


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.