程式設計5:用一個棧實現另一個棧的排序
阿新 • • 發佈:2018-11-26
<?php header("content-type:text/html;charset=utf-8"); /* * 用一個棧實現另一個棧的排序 P13 */ function sortStackByStack(SplStack $stack){ $help = new SplStack(); if($stack->isEmpty()){ return false; } while (! $stack->isEmpty()){ $top = $stack->pop(); while (! $help->isEmpty() && $top > $help->top()){ $stack->push($help->pop()); } $help->push($top); } while (! $help->isEmpty()){ $stack->push($help->pop()); } } echo "初始化棧:"; echo "</br>"; $stack = new SplStack(); $stack ->push(3);$stack ->push(7); $stack ->push(2); $stack ->push(0); $stack ->push(1); print_r($stack); echo "</br>"; echo "</br>"; echo "棧排序:"; echo "</br>"; sortStackByStack($stack); print_r($stack);
實現結果: