利用php物件導向思想,棧的屬性有top、最大儲存數、和儲存容器(這裡利用了php陣列)。
**如下:實現了入棧、出棧、遍歷棧的幾個方法:
<?php class stack
// 入棧
public function push($ele)
$this->stack[++$this->top] = $ele;// 此處必須是++i,先計算再使用
} // 出棧,返回出棧元素
public function pop()
$ele = $this->stack[$this->top];
unset($this->stack[$this->top--]);// 此處必須是i--,先使用再計算(注意出棧和入棧的區別)
return $ele;
} // 遍歷棧
public function show()
for($i=$this->top; $i>-1; $i--)
}}$stack = new stack;
$stack->push(1);
$stack->p
$stack->push(3);
$stack->push(4);
//print_r($stack);
$stack->show();
$a = $stack->pop();
$a = $stack->pop();
$a = $stack->pop();
$stack->show();
執行結果:
43211
資料結構 棧的入棧 出棧序列
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等 例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。思路 每次將入棧序列乙個元素入棧...
資料結構 順序棧的入棧彈棧操作
include include define max 10 typedef struct sqstack sqstack 初始化棧 void initstack sqstack s 判斷棧是否為空 intstackempty sqstack s 進棧 intpush sqstack s,int e ...
資料結構(棧 建立乙個棧,入棧再出棧)
建立乙個棧,入棧再出棧。include define stack init size 100 define stackincrement 10 define overflow 2 define ok 1 define error 0 define true 1 define false 0 usin...