1 <?php 2 //棧類 3 class MyStack{ 4 //變量:數組 5 private $arr; 6 7 //構造函數 8 function __construct() 9 { 10 $this->arr=array(); 11 echo "初始化:"; 12 } 13 14 //析構函數 15 function __destruct() 16 { 17 unset($this->arr); 18 echo "釋放資源"; 19 } 20 21 //獲取棧頂元素 22 function GetTop() 23 { 24 if(count($this->arr)!=0) 25 { 26 return $this->arr[count($this->arr)-1]; 27 } 28 else{ 29 return false; 30 } 31 } 32 33 //入棧操做 34 function Push($data) 35 { 36 array_push($this->arr,$data); 37 } 38 39 //出棧操做 40 function Pop() 41 { 42 if(count($this->arr)!=0) 43 { 44 array_pop($this->arr); 45 } 46 else{ 47 return false; 48 } 49 } 50 51 //遍歷整個棧 52 function StackTraverse() 53 { 54 print_r($this->arr); 55 } 56 57 //清空棧 58 function ClearStack() 59 { 60 unset($this->arr); 61 $this->arr=array(); 62 } 63 64 //判斷棧是否爲空 65 function StackEmpty() 66 { 67 if(count($this->arr)==0) 68 { 69 return true; 70 } 71 else{ 72 return false; 73 } 74 } 75 76 //獲取棧長度 77 function StackLength() 78 { 79 return count($this->arr); 80 } 81 } 82 83 ?>
本身作練習寫的棧類,沒有遇到太多問題,實現起來和線性表大同小異。php