`

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

0
0
分享到:
评论

相关推荐

    Perl的面向对象编程

    一、Perl的类与对象 在Perl中,类是通过定义一个包含数据结构(变量)和操作这些数据结构的方法(子程序)的代码块创建的。类的定义通常使用关键字`package`来开始。例如: ```perl package MyClass; our @ISA = '...

    使用perl进行面向对象

    【描述】:本文将深入探讨使用Perl进行面向对象编程的核心概念,包括包、模块、类、构造函数、实例变量、方法、重载、析构函数和继承等关键要素。 【标签】:"perl 面向对象 OOP 包 类 doc" 【正文】: Perl是一...

    perl面向对象

    perl面向对象

    Object Oriented Perl

    书中还会涉及一系列专业术语,如类、对象、实例、方法、属性、封装、继承、多态等,这些术语构成了面向对象编程的基本词汇,理解它们对于掌握面向对象Perl至关重要。 #### 1.4 进一步的学习资源 为了帮助读者更...

    PERL函数分类.html

    PERL函数分类.html PERL函数分类.html

    神奇的perl两本perl入门教材合集

    8. **面向对象编程**:Perl也支持面向对象编程,会介绍类、对象、继承和多态的概念。 9. **Perl在实际项目中的应用**:可能包含一些案例分析,展示Perl在文本处理、系统管理等方面的实际应用场景。 其次,"神奇的...

    Perl 编程技巧与实例分析

    书中会讲解如何使用Perl与系统交互,以及如何编写客户端和服务器端的网络程序。 7. 数据结构:Perl支持多种复杂的数据结构,如数组、哈希、列表和引用。书中将通过实例解释如何创建和操作这些数据结构,以及它们在...

    简明perl教程(第四版)

    Perl5引入了类和对象的概念,允许开发者创建复杂的面向对象程序。教程将涵盖类的定义、方法、继承、封装和多态等面向对象编程的核心概念。 异常处理是任何编程语言中必不可少的部分。Perl使用`eval`函数和`die`语句...

    Algorithm Perl

    5. **面向对象编程**:Perl支持面向对象编程,通过类和对象可以构建复杂的数据结构和算法模型,提高代码复用性和可维护性。 6. **递归与迭代**:这两种控制结构是实现许多算法的基础,例如搜索、排序、回溯等。理解...

    轻构学用Perl(第三版).rar

    在面向对象编程方面,书中讲解了Perl的面向对象特性,如类的创建、继承、封装和多态性,以及模块的使用和编写,帮助读者理解如何在Perl中实现面向对象的设计。 对于Web开发,Perl有强大的CGI(Common Gateway ...

    Perl_examples_perl语言_Perl_

    8. **对象导向编程**:Perl支持面向对象编程,通过`package`定义类,`new`创建对象,`->`操作符用于调用方法。 9. **文件处理和系统交互**:Perl可以方便地与操作系统进行交互,例如,`system`函数执行外部命令,`...

    Perl-5.10.0版本

    Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0...

    Advanced.Perl.Programming.2nd.Edition

    Perl的面向对象编程模型被详细解析,包括类的定义、对象的创建、继承和封装等概念。书中还讲解了如何利用Perl的模块化特性,构建可重用的代码库,从而提高开发效率。 #### 模块与包 Perl拥有庞大的模块生态系统,...

    Perl.TK (TK for perl)

    4. **面向对象编程**:Perl.TK完全支持面向对象编程,控件被视为对象,有自己的属性和方法。这有助于代码的模块化和重用。 5. **与其他Perl模块的集成**:Perl.TK可以轻松与Perl的其他模块结合,扩展其功能,如...

Global site tag (gtag.js) - Google Analytics