读书人

自定义简易的面向对象的perl栈与行列类

发布时间: 2012-10-16 09:57:37 作者: rapoo

自定义简易的面向对象的perl栈与队列类

? ? ? ? ?perl中的数组其实已经具备了栈与队列的特点,下面是对数组经过一些封装的stack,queue对象

1、Stack类

创建一个Stack.pm文件

?

package Stack;sub new{$self={arr=>[]};return bless $self;}sub push{$self=shift;$d=shift;push @{$self->{arr}},$d;}sub pop{$self=shift;return pop @{$self->{arr}};}sub toString{$self=shift;return  @{$self->{arr}};}1;

?

2、Queue类

创建一个Queue.pm

?

package Queue;sub new{$self={arr=>[]};return bless $self;}sub en_queue{$self=shift;$d=shift;push @{$self->{arr}},$d;}sub de_queue{$self=shift;return shift @{$self->{arr}};}sub toString{$self=shift;return  @{$self->{arr}};}1;

?

?

3、调用

?

use Stack;$stack=new Stack;$stack->push('gg');$stack->push('aa');$stack->push('123');print $stack->toString(),"\n";$stack->pop();print $stack->toString(),"\n";$stack->pop();print $stack->toString(),"\n";$stack->pop();print $stack->toString(),"\n";use Queue;$queue=Queue->new();$queue->en_queue(1);$queue->en_queue('a');$queue->en_queue('2');print $queue->toString(),"\n";$queue->de_queue();print $queue->toString();

?以上Stack与Queue只是个简单实现,其他操作未添加

读书人网 >perl python

热点推荐