编程3:仅用递归函数和栈操作逆序一个栈
Posted 小林子奋斗的点滴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程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);
输出结果:
以上是关于编程3:仅用递归函数和栈操作逆序一个栈的主要内容,如果未能解决你的问题,请参考以下文章