이 글은 주로 PHP가 구현하는 스택 데이터 구조를 소개하고, PHP의 스택 정의와 스택 푸시, 팝핑, 순회 등 관련 연산 기법을 예제 형식으로 분석하여 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 모두에게 도움이 될 수 있습니다.
PHP 객체 지향적 사고를 사용하여 스택의 속성에는 상단, 최대 저장 수 및 저장 컨테이너가 포함됩니다(여기에서는 PHP 배열이 사용됨).
코드는 다음과 같습니다: 스택을 푸시하고, 팝하고, 탐색하는 여러 가지 방법이 구현됩니다:
<?php class Stack{ const MAXSIZE = 4;// 栈最大容量 private $top = -1; private $stack = array();// 利用数组存储数据 public function __construct(){ $this->stack = array(); } // 入栈 public function push($ele){ if ($this->top >= self::MAXSIZE-1){ echo 'stack is full...'; return false; } $this->stack[++$this->top] = $ele;// 此处必须是++i,先计算再使用 } // 出栈,返回出栈元素 public function pop(){ if ($this->top == -1){ echo 'stack is empty...'; return false; } $ele = $this->stack[$this->top]; unset($this->stack[$this->top--]);// 此处必须是i--,先使用再计算(注意出栈和入栈的区别) return $ele; } // 遍历栈 public function show(){ if ($this->top == -1){ echo 'stack is empty...'; return false; } for($i=$this->top; $i>-1; $i--){ echo $this->stack[$i].'<br/>'; } } } $stack = new Stack; $stack->push(1); $stack->push(2); $stack->push(3); $stack->push(4); //print_r($stack); $stack->show(); $a = $stack->pop(); $a = $stack->pop(); $a = $stack->pop(); $stack->show();
실행 결과:
4
3
2
1
1
관련 권장 사항:
php 스택 데이터 구조 및 대괄호 일치 알고리즘을 구현하는 방법에 대한 자세한 코드 예제
배열을 사용하여 PHP에서 스택 데이터 구조를 구현하는 코드
php 선형 테이블 푸시 및 팝 예제 분석_PHP 튜토리얼
위 내용은 PHP가 스택 데이터 구조 예제를 구현하는 방법에 대한 포괄적이고 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!