
文章插圖
很多人對堆棧有點(diǎn)陌生,其實(shí)在線程中我們會反復(fù)的提到,大家可以先從線程的模塊開始學(xué)習(xí) 。在有了一定的基礎(chǔ)后,我們會明確堆棧是用來存儲數(shù)據(jù)的,那么在php數(shù)組中,也是有著很大的存儲需求 。下面我們就php數(shù)組如何進(jìn)行堆棧的使用為大家進(jìn)行模擬,快來看看如何操作吧 。
1、使用數(shù)組實(shí)現(xiàn)堆棧
(1)堆棧容器中,最后進(jìn)棧的將會被最先出棧,即所謂的“先進(jìn)后出”的數(shù)據(jù)結(jié)構(gòu) 。
(2)在PHP中,將數(shù)組當(dāng)做一個棧,可使用array_push()函數(shù)或者以“$array[]=$value”完成進(jìn)棧操作,使用array_pop()函數(shù)完成出棧操作 。
(3)堆棧的進(jìn)棧操作相當(dāng)于:將數(shù)據(jù)挨個放入一個桶狀的(假設(shè)數(shù)據(jù)和此桶具有恰當(dāng)?shù)谋砻婷娣e,即剛好能橫放進(jìn)去)容器中,造成的結(jié)果就是,完成所有數(shù)據(jù)進(jìn)棧之后,先進(jìn)棧的在最下面 。
2、實(shí)例
php--數(shù)組來模擬堆棧top==$this->maxSize-1){ echo '棧滿,不能添加';return; //棧滿 返回 } //先top上移,然后填充棧內(nèi)容 $this->top++;$this->stack[$this->top]=$val; } //出棧 public function pop(){ if($this->top==-1){ echo '棧空';return; //空棧,無數(shù)據(jù),返回 } //取出棧頂?shù)臄?shù)據(jù),同時把該數(shù)據(jù)返回,別忘了把top指針下移 $topValue=http://hnpxn.com/IT/$this->stack[$this->top]; $this->top--; return $topValue;} //顯示棧的所有信息 public function showStack(){if($this->top==-1){ echo '???!'; return;//空棧,無數(shù)據(jù),返回 } //結(jié)合堆棧的數(shù)據(jù)結(jié)構(gòu),是后進(jìn)先出類型的,因此從棧頂開始,依次往下讀出棧的內(nèi)容 for($i=$this->top;$i>-1;$i--){echo 'Stack['.$i.']='.$this->stack[$i].''; } } } $stack=new MyStack();$stack->push('111');$stack->push('222');$stack->showStack();?>以上就是php數(shù)組進(jìn)行堆棧的模擬,大家下次遇到有類似的存儲需求時,不妨也嘗試使用堆棧的方法來解決問題 。更多php學(xué)習(xí)指路:php數(shù)組
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- php之kohana框架的安裝詳解
- php中yaf框架的配置
- php laravel php之laravel調(diào)度執(zhí)行及出錯解決
- php中mktime函數(shù)是什么(php mktime)
- php按鈕跳轉(zhuǎn)頁面 php中頁面跳轉(zhuǎn)的方法
- php中Yaf框架是什么?
- php索引數(shù)組和關(guān)聯(lián)數(shù)組 php索引數(shù)組有什么用?
- thinkphp token PHP中ThinkPhp框架的token使用
- php框架laravel php之laravel中自定義模板命令
- php中kohana框架是什么?
