您好,登錄后才能下訂單哦!
這篇文章主要介紹“php數組怎么實現堆棧的模擬”,在日常操作中,相信很多人在php數組怎么實現堆棧的模擬問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php數組怎么實現堆棧的模擬”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、使用數組實現堆棧
(1)堆棧容器中,最后進棧的將會被最先出棧,即所謂的“先進后出”的數據結構。
(2)在PHP中,將數組當做一個棧,可使用array_push()函數或者以“$array[]=$value”完成進棧操作,使用array_pop()函數完成出棧操作。
(3)堆棧的進棧操作相當于:將數據挨個放入一個桶狀的(假設數據和此桶具有恰當的表面面積,即剛好能橫放進去)容器中,造成的結果就是,完成所有數據進棧之后,先進棧的在最下面。
2、實例
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><title>php--數組來模擬堆棧</title></head> <body> <?php class MyStack{ private $top=-1; //模擬棧底,指向-1 private $maxSize=5; //模擬棧的容量為5 private $stack=array();//用來數組來模擬,想數組內填入棧的內容 //入棧操作 public function push($val){ ///先判斷棧是否已滿 if($this->top==$this->maxSize-1){ echo '棧滿,不能添加</br>'; return; //棧滿 返回 } //先top上移,然后填充棧內容 $this->top++; $this->stack[$this->top]=$val; } //出棧 public function pop(){ if($this->top==-1){ echo '棧空</br>'; return; //空棧,無數據,返回 } //取出棧頂的數據,同時把該數據返回,別忘了把top指針下移 $topValue=$this->stack[$this->top]; $this->top--; return $topValue; } //顯示棧的所有信息 public function showStack(){ if($this->top==-1){ echo '棧空!</br>'; return;//空棧,無數據,返回 } //結合堆棧的數據結構,是后進先出類型的,因此從棧頂開始,依次往下讀出棧的內容 for($i=$this->top;$i>-1;$i--){ echo 'Stack['.$i.']='.$this->stack[$i].'</br>'; } } } $stack=new MyStack(); $stack->push('111'); $stack->push('222'); $stack->showStack(); ?> </body> </html>
到此,關于“php數組怎么實現堆棧的模擬”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。