Matlab-堆栈数据结构

Matlab-堆栈数据结构,matlab,Matlab,我可以在matlab中使用堆栈数据结构吗 例如,一个整数堆栈,我可以像堆栈一样推动其中的元素。推动(I),像堆栈一样从中取出元素,然后检查它是否为空stack.isempty()你可以自己滚动,也可以使用其他人的,比如 一个非常简单的自制堆栈是一个带有计数的数组,计数指向最上面的项。我认为MATLAB在更新版本中也没有。但是你可以使用Java,它是MATLAB中的“第一类公民”,它可以完美地处理你需要的整数。另请参见和相关问题 只需在MATLAB中编写stack=java.util.stack(

我可以在matlab中使用堆栈数据结构吗


例如,一个整数堆栈,我可以像堆栈一样推动其中的元素。推动(I),像堆栈一样从中取出元素,然后检查它是否为空
stack.isempty()

你可以自己滚动,也可以使用其他人的,比如


一个非常简单的自制堆栈是一个带有计数的数组,计数指向最上面的项。

我认为MATLAB在更新版本中也没有。但是你可以使用Java,它是MATLAB中的“第一类公民”,它可以完美地处理你需要的整数。另请参见和相关问题


只需在MATLAB中编写
stack=java.util.stack()
,然后您就可以像您的问题
stack.push(i)
,ecc.

我在MATLAB中使用过java,老实说,它非常慢。按照@skurmedel说的做会更好,比如:

Ptr = 1;
Stack(ptr,:) = [x,y];
Ptr = ptr + 1;
要模拟
pop

A = stack(ptr,1);
B = stack(ptr,2);
Ptr = ptr - 1;

FileExchange中有一个有用的提交:


请按原样使用MATLAB阵列。它们比使用任何Javautil都快100倍。编写额外的逻辑,使数组像堆栈一样工作


根据个人经验,只需重新编写算法以使用MATLAB数组。

MATLAB具有“完整”的OOP功能。只需编写堆栈类。请参阅MATLAB OOP的文档:在数据类型转换时要非常小心。@Andrey,这对我来说太麻烦了-我将行向量推到堆栈中,当我弹出它时,它显示为列向量。