php实现一个双向队

队列是一种线性表,按照先进先出的原则进行
单向队列:只能从头进,从尾出
双向队列:头尾都可以进出

class DuiLie {
    private $array = array();//声明空数组

    public function setFirst($item){
        return array_unshift($this->array,$item);//头入列
        /**
        array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
        提示:您可以插入一个或多个值。
        注释:数值键名将从 0 开始,以 1 递增。字符串键名将保持不变。
         */
    }

    public function delFirst(){
        return array_shift($this->array);//头出列
        /**
        array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。
        注释:如果键名是数字的,所有元素都将获得新的键名,从 0 开始,并以 1 递增(参见下面实例)。
         */
    }

    public function setLast($item){
        return array_push($this->array,$item);//尾入列
        /**
        array_push() 函数向数组尾部插入一个或多个元素。
        提示:您可以添加一个或者多个值。
        注释:即使您的数组有字符串键名,您所添加的元素将是数字键名(参见下面的实例)。
         */
    }

    public function delLast($item){
        return array_pop($this->array,$item);//尾出列
        /**
        array_pop() 函数删除数组中的最后一个元素。
          */
    }

    public function show(){
        var_dump($this->array);//打印数组
    }

    public function Del(){
        unset($this->array);//清空数组
    }
}
$DuiLie = new DuiLie();
$DuiLie->setFirst(11);
$DuiLie->setFirst(22);
$DuiLie->setLast(33);
$DuiLie->show();


/**
输出的结果:
array(3) { [0]=> int(22) [1]=> int(11) [2]=> int(33) }
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值