一个简单的Stack
这是我在练习“引用”和“类”时写的一个很简单的类似c中的栈的数据结构。
千万不要笑我哦。
package Stack;
use strict;
sub new {
my $Stack = {};
$Stack->{"size"} = 0;
my (%Element);
%Element = (
"value" => "Head",
);
$Stack->{"top"} = \%Element;
return bless $Stack;
}
sub Stack_push {
my ($Stack,$value)=@_;
my (%Element);
$Element{"value"} = $value;
$Element{"prev"} = $Stack->{"top"};
$Stack->{"top"} = \%Element;
$Stack->{"size"}++;
}
sub Stack_pop {
my ($Stack) = @_;
my $top;
if ($Stack->{"size"}>0) {
$top = $Stack->{"top"};
$Stack->{"top"} = $top->{"prev"};
$Stack->{"size"}--;
}
}
1;
其实在perl中,对于这样的栈完全可以使用散列的数组来实现。