<?php輸出結果:header("content-type:text/html;charset=utf-8");
/**設計乙個有getmin功能的棧 p1 */
class
mystack
public
function push($newdata
)
elseif ($newdata
<= $this->stackmin->top())
$this->stackdata->push($newdata
); }
public
function
pop()
if($this->stackdata->top() == $this->stackmin->top())
return
$this->stackdata->pop();
}public
function
getmin()
return
$this->stackmin->top();
}}echo "向棧中一次壓入7,3,1,4,0:";
echo "
";$mystack = new
mystack();
$mystack->push(7);
$mystack->push(3);
$mystack->push(1);
$mystack->push(4);
$mystack->push(0);
print_r($mystack
);echo "
";echo "
";echo "彈出棧頂元素0,此時的最小值棧也應該有變化:";
echo "
";$mystack->pop();
print_r($mystack
);echo "
";echo "
";echo "彈出棧頂元素4,此時的最小值棧也應該無變化:";
echo "
";$mystack->pop();
print_r($mystack
);echo "
";echo "
";echo "獲取此時棧中最小值:";
echo "
";$min = $mystack->getmin();
echo
$min;
設計乙個有GetMin功能的棧
兩種資料壓入規則,也就是兩種實現的方法,利用兩個棧,乙個stackdata棧用來壓入所有的資料,所有資料都會壓入此棧,乙個satckmin用來壓入最小元素 對應的就是stackdata中的最小元素 第一種方法 壓棧規則 1 當將資料壓入棧stackdata時,判斷stackmin棧是否為空,為空則將...
設計乙個有getMin功能的棧
使用c 完成 程式設計師 面試指南 it名企演算法與資料結構題目 實現乙個特殊的棧,在實現棧的基本功能基礎上,再實現返回棧中最小元素的操作 使用兩個棧,乙個棧用來儲存當前棧中的元素,起功能和乙個正常的棧沒有區別,這個棧記為stackdata 另乙個棧用於儲存每一步的最小值,這個棧記為stackmin...
設計乙個有getmin功能的棧
程式設計師 面試指南 it名企演算法與資料結構題目最優解 第一問 有這樣的乙個問題 設計乙個棧,實現棧的基本功能的基礎上,在實現返回棧中的最小元素操作。這個問題看似不難,只要在棧push每乙個元素的時候將這個元素和乙個最小數min進行大小比較,小於min就把這個元素的值賦給min,如此一來就可以得出...