棧的意思 關(guān)于棧滿的判斷?
關(guān)于棧滿的判斷?堆棧滿狀態(tài)為top==maxsize-1。順序堆棧:使用一組連續(xù)內(nèi)存依次保存堆棧中的數(shù)據(jù),并定義一個top變量將序列號保存在堆棧頂部。堆棧結(jié)構(gòu)是“后進(jìn)先出”的原則。堆棧有兩種基本操作:
關(guān)于棧滿的判斷?
堆棧滿狀態(tài)為top==maxsize-1。順序堆棧:使用一組連續(xù)內(nèi)存依次保存堆棧中的數(shù)據(jù),并定義一個top變量將序列號保存在堆棧頂部。堆棧結(jié)構(gòu)是“后進(jìn)先出”的原則。堆棧有兩種基本操作:push和pop。堆棧空間的條件是top==-1。堆棧空間表示數(shù)據(jù)中沒有數(shù)字。堆棧滿條件為top==maxsize-1。因?yàn)閿?shù)組的下標(biāo)從0開始,所以當(dāng)堆棧為空時,下標(biāo)應(yīng)該是0-1。如果堆棧已滿,則表示數(shù)據(jù)中的數(shù)據(jù)已滿,因此應(yīng)取數(shù)組的最大值maxsize-1。序列堆棧元素“stack”:1。例如,模擬堆棧存儲{1,2,3,4}的過程。最初,堆棧是“empty stack”,即數(shù)組是空的,而top值是初始值-1。三。以上述方式,元素2、3和4依次存儲。最后,最大值變?yōu)?。順序堆棧元素“出?!保阂獙⒃?出棧,首先需要依次將元素4和元素3出棧。應(yīng)該注意的是,當(dāng)堆棧中有數(shù)據(jù)時,頂部應(yīng)該作為-1操作。
求解,關(guān)于棧,關(guān)于top的問題?
1. 當(dāng)堆棧為空時,top=base-1超出堆棧。
2. 加載堆棧時,首先top,然后將元素推入堆棧,因此“非空堆棧中的top指針始終位于top元素的下一個位置”是正確的,但應(yīng)理解為要加載的堆棧的上一個位置(當(dāng)前top元素位置)。
3. ??张袛囗?=-1,這樣的判斷從未見過。應(yīng)該有((top base)==-1)或top
首先,我們必須弄清楚堆棧的一個非常重要的屬性:后進(jìn)先出(LIFO)。堆棧的底部稱為堆棧的底部,堆棧頂部的元素稱為堆棧的頂部。
堆棧的一個典型應(yīng)用是不同系統(tǒng)之間數(shù)字系統(tǒng)的轉(zhuǎn)換。例如:十進(jìn)制2542是八進(jìn)制數(shù)?基本算法是:我們常用的短除法(我們可以想象:堆棧中有一個由4個元素組成的數(shù)組,每個步驟中括號后面的數(shù)字就是余數(shù)。將它們壓成一個堆棧,即:第一次計(jì)算的余數(shù)6壓入堆棧底部,第二次計(jì)算的余數(shù)5壓在6的上方,第三次計(jì)算的余數(shù)6的上方,7壓在5的上方,最后一次計(jì)算的余數(shù)4壓在7的上方,即,堆棧頂部)8 | 2542(68 | 317(58 | 39(78 | 4(40,則十進(jìn)制2542是八進(jìn)制4756)。即:先取出頂部元件4,再取出堆疊元件7,再取出元件5,最后取出底部元件6。
求助,有關(guān)棧的應(yīng)用?
此初始化用于線性堆棧,即使用數(shù)組形成堆棧,堆棧頂部指針值是當(dāng)前堆棧頂部元素的下標(biāo)值。
當(dāng)堆棧中有數(shù)據(jù)時,將首先添加頂部指針。
Initialize to empty stack,
指定空堆棧指向-1,這樣當(dāng)?shù)谝粋€元素進(jìn)入堆棧時,頂部指針可以通過自加指向元素0,從而避免其他判斷。