PHP實現的棧資料結構示例 入棧 出棧 遍歷棧

2022-10-06 07:54:12 字數 782 閱讀 5010

利用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...