stack.m
来自「这是本人收集的一些程序源代码」· M 代码 · 共 22 行
M
22 行
function ST=stack(v)
% 调用格式
% ST=stack 创建一个"空"堆栈对象.
% ST=stack(v) 创建包含变量v的堆栈对象。
if nargin>1;error('Too many arguments.');end;
if nargin==0 % 没有输入宗量情况
Q=queue;
s.value=[]; % value 域被赋"空阵"
s.name=''; % name 域不给任何字符
elseif isa(v,'stack'); % 输入宗量是同类对象情况
s=v; % 直接把输入量赋给 q
Q=queue(evalin('caller',inputname(1)));%生成队列对象
else % 非同类输入宗量情况
s.value=v; % 在 value 域中放置输入对象 v 的内容
s.name=inputname(1); % 在 name 域中放置输入对象名 v 字符
if isempty(s.name) % 假如输入量无名
s.name=['(' class(v) ')']; % 就采用 v 本身的类名
end
Q=queue(evalin('caller',inputname(1)));%生成队列对象
end
ST=class(s,'stack',Q); % 产生继承父类对象Q性质的ST堆栈子类
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?