以下是 PHP 实现栈的基本操作的示例代码:
class Stack {
private $stack;
public function __construct() {
$this->stack = [];
}
public function push($value) {
array_push($this->stack, $value);
}
public function pop() {
if (!$this->isEmpty()) {
return array_pop($this->stack);
}
return false;
}
public function top() {
if (!$this->isEmpty()) {
return end($this->stack);
}
return false;
}
public function isEmpty() {
return empty($this->stack);
}
public function size() {
return count($this->stack);
}
}
// 使用示例
$stack = new Stack();
$stack->push(1);
$stack->push(2);
$stack->push(3);
echo $stack->pop(); // 输出 3
echo $stack->top(); // 输出 2
echo $stack->size(); // 输出 2
echo $stack->isEmpty() ? 'true' : 'false'; // 输出 false
上述代码定义了一个 Stack
类,使用数组来作为栈的存储结构。其中包含基本的栈操作,如 push
(入栈)、pop
(出栈)、top
(获取栈顶元素)、isEmpty
(判断栈是否为空)和 size
(获取栈的大小)等。
使用示例中,先将三个元素依次入栈,然后分别调用 pop
(出栈)、top
(获取栈顶元素)、size
(获取栈的大小)和 isEmpty
(判断栈是否为空)方法来操作栈。