如何計(jì)算棧中元素個(gè)數(shù) 棧的初態(tài)為什么是top=m 1?
棧的初態(tài)為什么是top=m 1?堆棧的順序存儲(chǔ)空間為s(1:50),初始狀態(tài)為top=0?,F(xiàn)在,在一系列的堆棧輸入和堆棧輸出操作之后,如果top=20,那么top stack bottom=20-0=
棧的初態(tài)為什么是top=m 1?
堆棧的順序存儲(chǔ)空間為s(1:50),初始狀態(tài)為top=0。現(xiàn)在,在一系列的堆棧輸入和堆棧輸出操作之后,如果top=20,那么top stack bottom=20-0=20個(gè)元素。煙囪向上生長(zhǎng)。每次推入一個(gè)元素,堆棧的頂部指針向上移動(dòng)一位。當(dāng)?shù)谝粋€(gè)元素被壓入時(shí),上指針指向m1-1=m。當(dāng)?shù)诙€(gè)元素被壓入時(shí),上指針指向m1-2=m-1。以此類(lèi)推,當(dāng)按下第N個(gè)元素時(shí),上指針指向m1-N=20,然后N=m1-20=m-19。堆棧的順序存儲(chǔ)空間為s(1:50),初始狀態(tài)為top=0。現(xiàn)在,在一系列的堆棧輸入和堆棧輸出操作之后,如果top=20,那么top stack bottom=20-0=20個(gè)元素。一般來(lái)說(shuō),它通常是從堆棧的底部壓到堆棧的頂部。在本主題中,它是相反的。堆棧從堆棧的頂部壓到堆棧的底部,因此結(jié)果是C。top是最后一個(gè)元素上方的元素,因此是m1。
棧空和棧滿(mǎn)的條件?
(1)順序堆棧(top用于存儲(chǔ)top元素的下標(biāo))確定堆棧s為空:如果s->top==-1,則表示堆棧為空。判斷堆棧已滿(mǎn):如果s->top==stackusize-1表示堆棧已滿(mǎn)。(2) 鏈棧(top是指向棧頂?shù)闹羔槪赶虍?dāng)前棧頂元素前面的頭節(jié)點(diǎn))判斷??眨喝绻鹴op->next==null,表示???。判斷堆棧已滿(mǎn):當(dāng)系統(tǒng)沒(méi)有可用空間時(shí),無(wú)法申請(qǐng)空間來(lái)存儲(chǔ)要堆棧的元素,堆棧已滿(mǎn)。