zoukankan      html  css  js  c++  java
  • 编程3:仅用递归函数和栈操作逆序一个栈

    <?php
    header("content-type:text/html;charset=utf-8");
    /*
     * 仅用递归函数和栈操作逆序一个栈 P8
     */
    
    function getAndRemoveLastElement(SplStack $stack){
        if($stack->isEmpty()){
            return false;
        }
        $value = $stack->pop();
        if($stack->isEmpty()){
            return $value;
        }
        else{
            $last = getAndRemoveLastElement($stack);
            $stack->push($value);
            return $last;
        }
    }
    
    function reverse(SplStack $stack){
        if($stack->isEmpty()){
            return false;
        }
        else{
            $value = getAndRemoveLastElement($stack);
            reverse($stack);
            $stack->push($value);
    
        }
    }
    
    echo "原栈:";
    echo "</br>";
    $stack = new SplStack();
    $stack->push(1);
    $stack->push(7);
    $stack->push(0);
    $stack->push(2);
    print_r($stack);
    echo "</br>";
    
    echo "逆序后的栈:";
    echo "</br>";
    reverse($stack);
    print_r($stack);

    输出结果:

  • 相关阅读:
    TableViewCell bug
    iOS系统框架概述
    Cocoapods的安装与使用
    ios开发学习路径
    django第七天总结
    django第六天上课总结
    django第四天
    django第四天上课总结
    django第三天 小记
    django第三天
  • 原文地址:https://www.cnblogs.com/xlzfdddd/p/10021886.html
Copyright © 2011-2022 走看看