清華大學韓順平講師講演算法之二(下),用陣列來建棧

2021-08-27 06:27:31 字數 719 閱讀 9003

php的陣列中提供的入棧array_push,array_pop,今天我們要自己實現,入棧出棧。

<?php

class mystack//if

$this->top++;

$this->stack[$this->top]=$val;

}//push

//顯示棧的所有的資料方法

public function showstack()

for($i=$this->top;$i>-1;$i--)

}//showstack

//出棧,把棧頂的值取出

public function pop()else//if

}//pop

}//class

$mystack=new mystack;

$mystack->push('123');

$mystack->push('abc');

$mystack->push('a2b3');

echo '

彈出前的樣子:';

$mystack->showstack();

$val=$mystack->pop();

echo '

pop 的資料是:'.$val;

echo '

彈出後的樣子是:';

$mystack->showstack();

?>

清華大學演算法訓練營 等式

時間限制 2s,空間256mb 問題描述 n個變數和m個 相等 或 不相等 的約束條件,請你判定是否存在一種賦值方案滿足所有m個約束條件。輸入第一行乙個整數t,表示資料組數。t 100 接下來會有t組資料,對於每組資料 第一行是兩個整數n,m,表示變數個數和約束條件的個數。1 n,m 500000 ...

清華大學演算法訓練營 象棋

你有足夠多的象棋 車 在乙個n n的棋盤上你能放多少個 車 呢?注意,所給棋盤上有些位置不能放任何東西。同時,某一行 列 最多只能存在乙個 車 第一行為乙個正整數n。1 n 500 接下來n行,每行包含n個整數,若為0表示這個位置不能放 車 若為1表示這個位置可以放 車 輸出乙個整數,表示最多能放多...

清華大學演算法訓練營 重編碼

重編碼 priority queue 有一篇文章,文章包含 n種單詞,單詞的編號從 1 至 n,第 i 種單詞的出現次數為 w i 現在,我們要用乙個 2 進製串 即只包含 0 或 1 的串 s i 來替換第 i 種單詞,使其滿足如下要求 對於任意的 1 i,j n i j 都有 s i 不是 s ...