📄 stack.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -