首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-10-16 
自定义简易的面向对象的perl栈与队列类? ? ? ? ?perl中的数组其实已经具备了栈与队列的特点,下面是对数组

自定义简易的面向对象的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只是个简单实现,其他操作未添加

热点排行