Perl中实现堆栈的方法

  介绍

这篇文章给大家分享的是有关Perl中实现堆栈的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

在Perl中堆栈是一种线性数据结构,遵循后进先出(后进先出)或费罗(先进先出)顺序;那么如何实现堆栈?

癙erl中实现堆栈的方法"

简单来说,堆栈是一个数组,其中插入和删除仅发生在称为堆栈顶部的一端。

在Perl中创建堆栈非常简单。我们需要做的就是声明一个数组。

示例:

创建一个可能为空的堆栈:

@stack;

或者可以初始化一下:

@stack=(1、2、3);

<强>

推送就是一种将元素插入堆栈的过程。可以使用push()函数或接头()函数完成推送。

1,使用push()推送:

基本语法:

推(@stack、列表);

参数:

●@stack:要执行推送的堆栈。

●列表:要压入堆栈的元素。这些元素可能是标量,数组,哈希或这些元素的任意组合。

示例:

#初始化堆栈   @stack=(1 . . 3);      #输出原始栈   打印“原始栈:@stack";      #要推送的标量   $标量=皊calar";      #要推送的数组   @array=(“a",“r",“r",“a",“y");      #要推送的哈希   %散列=(“PHP"=比;10日,   “Perl"=比;20);      #可以同时插入标量,数组和哈希   推动(@stack($标量@array %散列));      #推送操作后更新堆栈   print (“\ n更新后的堆栈:@stack");

输出:

原始栈:1 2 3   更新后的堆栈:1 2 3标量10 r r y PHP Perl 20

2,使用拼接()推送:

基本语法:

拼接(@stack,标量(@stack), 0,列表),

参数:

●拼接()函数在@stack末尾附加& # 39;列表# 39;。

●& # 39;列表# 39;可以是标量,数组或散列。

示例:

#初始化堆栈   @stack=(1 . . 3);      #输出原始栈   打印“原始栈:@stack";      #要推送的标量   $标量=皊calar";      #要推送的数组   @array=(“h",“e",“l",“l",“o");      #要推送的哈希   %散列=(“PHP"=比;10日,   “Perl"=比;20);      #可以同时插入标量,数组和哈希   拼接(@stack标量(@stack), 0,   ($标量@array %散列));      #推送操作后更新堆栈   print (“\ n更新后的堆栈:@stack");

输出:

原始栈:1 2 3   更新后的堆栈:1 2 3标量10 h e l l o PHP Perl 20

在堆栈中,弹出是删除堆栈最顶层元素的过程,可以使用pop()函数或接头()函数完成弹出。

<强> 1,使用pop()函数实现弹出:

基本语法:

$ popped_element=流行(@stack);

参数:

●pop()函数返回弹出的元素。

●popped_element美元包含从堆栈弹出的元素。

示例:

#初始化堆栈   @stack=(1 . . 3);      #原始栈   打印“原始栈:@stack";      #移除并返回最上面的元素,即3。   $ popped_element=流行(@stack);      #输出弹出元素   打印“\ n弹出元素:popped_element"美元;;      #弹出操作后更新堆栈   print (“\ n更新后的堆栈:@stack");

输出:

原始堆栈:1 2 3   弹出元素:3   更新后的堆栈:1 2

<强>注:强如果堆栈为空,则返回undef.undef类似于Java中的零和Python中的没有。但是,不会引发错误。

<强> 2,使用拼接()函数弹出:

基本语法:

$ popped_element=拼接(@stack 1);

参数:

●拼接()函数删除堆栈的最后一个元素并返回它。

●popped_element:美元存储返回的值。

示例:

#初始化堆栈   @stack=(1 . . 3);      #原始栈   打印“原始栈:@stack";      #使用拼接()函数弹出   $ popped_element=拼接(@stack, 1);      #输出弹出元素   打印“\ n弹出元素:popped_element"美元;;      #弹出操作后更新堆栈   print (“\ n更新后的堆栈:@stack");

输出:

原始堆栈:1 2 3   弹出元素:3   更新后的堆栈:1 2

Perl中实现堆栈的方法