1樓:禽穎卿揭媚
堆疊其實是兩種資料結構。堆疊都是一種資料項按序排列的資料結構,只能在一端。
稱為棧頂(top))
對資料項進行插入和刪除。要點:堆,順序隨意。棧,後進旦世賀先出(last-in/first-out)。
針對模派棧這種資料結構的基本操作有兩種:壓棧和彈出,在棧幀中包含兩個標誌---棧底和棧頂,其中棧頂標識著要push或pop
的資料的位址,而棧底則表示棧幀中最後乙個資料的記憶體位址。
在win32中,暫存器esp存放著棧底指標,棧是向低位址方向生長,因此esp指向棧頂元素。
堆疊對比(作業系統):
由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其。
操作方式類似於資料結構中的棧棧使用的是一級快取,通常都是被呼叫時處於儲存空間中,呼叫完畢立即釋放。
堆(作業系統):
一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os**,分配方式倒是類似於連結串列。
堆則是存放在二級快取中,生命週期由虛擬機器的垃圾**演算法來決定(並不是一旦成為孤兒物件就能被**)。所以呼叫這些物件的速度要相對來得低一些。
堆(資料結構)
堆可以被看成是一棵樹,如:堆排序。
棧(資料結構)
一種後進先出的返攜的資料結構。
具體不同語言有不同的描述,可檢視各種語言的api
2樓:東郭遠酈秋
堆疊(stack)是一種用來暫時存放資料的結構。入棧(push)動謹敗作將資料存入棧頂,然後藉助彈出(pop)動作源晌羨取出資料。
在組合語言中,模組常被稱為子程式,當某乙個過程呼叫另乙個過程時,將指令的位址存在堆疊頂端,當呼叫結束後,從棧雹拍頂取**用過程位址,並返回繼續執行以下指令。
棧的入棧和出棧的順序規律是什麼?
3樓:文學小百靈
入棧的順序規律是排在前面的先進,排在後面的後進。
棧中的資料只有一種方式出棧,即先進後出,所以出棧的可能數目跟入棧的可能排列數目是一致的。a的出入有2中可能,b的出入有2種可能,c的出入有2種可能,d只需要關係入,只有一種可能。所以可能的出棧方式數為2*2*2*1=8種。
入棧順序:a、b、c、d。出棧順序可以是:
d、c、b、a;a、b、c、d;b、a、c、d很多,但要把棧想像成乙個沒蓋子的紙箱,取出東西時只能從最上層取咐友,放進東西也只能放在最上層,所以棧是乙個「後進先出」或「先進後出」的順序儲存結改簡喊構。
棧又名堆疊。
它是一種運算受限的線性表。
限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。
向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧核野刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧的入棧和出棧的順序規律是什麼?
4樓:小美聊電子科技
入棧的順序規律是排在前面的先進,排在後面的後進。
棧(stack)又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。
向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
任何出棧元素後面的元素必須滿足兩條規則。
1、在原序列(也就是入棧序列)中順序比出棧元素小的,必須是逆序。
2、在原序列(也就是入棧序列)中順序比出棧元素大的,順序無所謂。
3、出棧元素表示的是出棧後面的所有元素。
很多人都誤解這個理念從而對棧產生困惑。而系統棧在計算機體系結構中又起到乙個跨部件互動的媒介區域的作用 即 cpu 與記憶體的交流通道 ,cpu只從系統給我們自己編寫的應用程式所規定的棧入口線性地讀取執行指令, 用乙個形象的詞來形容它就是pipeline(管道線、流水線)。cpu內部互動具體參見 eu與biu的概念介紹。
5樓:民生無小事
棧這種資料結構,遵循先進後出,先進在棧底,後進在棧頂。
入棧的同時是否允許出棧,如果是資料全部入棧後才能出棧,入棧順序為1234,那麼出棧順序只能是4321。如果入棧的同時允許出棧,那麼出棧的順序佇列就有好幾個。
基本演算法。1、進棧(push)演算法。
1)若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作(2))。
2)置top=top+1(棧指標加1,指向進棧位址)。
3)s(top)=x,結束(x為新進棧的元素)。
2、退棧(pop)演算法。
1)若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧,空則下溢;不空則作(2))。
2)x=s(top),(退棧後的元素賦給x)。
3)top=top-1,結束(棧指標減1,指向棧頂)。
棧的入棧和出棧的順序規律是什麼?
6樓:帳號已登出
資料結構中,棧的入棧與出棧的順序規律可用一句話來描述,即先進後出,後進先出。
7樓:網友
棧是從棧頂進,從棧頂出,是保持先入後出的原則的,一齣數字進去,直接全出順序就會和進的時候反過來。
8樓:網友
棧是按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料。
9樓:程式小冰
棧是一種資料結構,樣子具體話的就像乙個桶,遵循先進後出的規矩的。
入棧和出棧的順序規律是什麼?
10樓:霂棪愛教育
入棧的順序規律是排在前面的先進,排在後面的後進。
若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);
置top=top+1(棧指標加1,指向進棧位址);
s(top)=x,結束(x為新進棧的元素);
出棧的順序規律是排在前面的先出,排在後面的後出。
若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②);
x=s(top),(退棧後的元素賦給x):
top=top-1,結束(棧指標減1,指向棧頂)。
入棧出棧題目怎麼做?
11樓:帳號已登出
棧的原則是先進後出,進棧序列為el,e2,e3,e4,芹信不是說一次性進入的,而是先進了el,e2,這時候出棧的話一定出e2,e3,e4又進棧,這時候出棧順序就是e4,e3,el 了,總的出棧順序就是e2,e4,e3,渣州el 了。
棧的特點是先進後出,即:進去的早,出來的晚。
54321進棧,5在棧底,1在棧頂!
出一次棧,則棧頂的1先出來,2成為新的棧頂。
abcd入棧,d成為新的棧頂。
全部出棧:d c b a 2 3 4 5
綜上,所有元素退棧順序為:1 d c b a 2 3 4 5<>
進棧(push)演算法若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);
置top=top+1(棧指標加1,指向進棧位址);
s(top)=x,結束(x為新進棧的元素);
退棧(pop)演算法。
若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作嫌梁輪②);
x=s(top),(退棧後的元素賦給x):
top=top-1,結束(棧指標減1,指向棧頂)。
以上內容參考:百科-棧。
什麼是棧?
12樓:教育小百科達人
棧的最主要特點是後進先出。
棧是一種運算受限的線性表,限定僅在表尾進行插入和刪除操作的線性表。棧的所有插入和刪除操作均在棧頂進行,而棧底不允許插入和刪除。
向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧在入棧和出棧時有哪些規律?
13樓:文學小百靈
入棧的順序規律是排在前面的先進,排在後面的後進。
棧中的資料只有一種方式出棧,核野即先進後出,所以出棧的可能數目跟入棧的可能排列數目是一致的。a的出入有2中可能,b的出入有2種可能,c的出入有2種可能,d只需要關係入,只有一咐友種可能。所以可能的出棧方式數為2*2*2*1=8種。
入棧順序:a、b、c、d。出棧順序可以是:
d、c、b、a;a、b、c、d;b、a、c、d很多,但要把棧想像成乙個沒蓋子的紙箱,取出東西時只能從最上層取,放進東西也只能放在最上層,所以棧是一改簡喊個「後進先出」或「先進後出」的順序儲存結構。
棧又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。
向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
設計演算法,入棧和出棧的操作。具體實現要求 1寫出棧的入棧和出棧演算法。2寫程式,將輸入的十進
樓主 這是我用連結串列結構實現的棧,以下是演算法,順序表部分沒寫,最近沒什麼時間,不好意思啦。include include 包括malloc 和realloc 函式的標頭檔案 include 包括pow 函式的標頭檔案 define max stack size 20 define addersi...
N個元素順序進棧,那麼所有可能出棧序列有哪些
分析 對於每一個數來說,必須進棧一次 出棧一次。我們把進棧設為狀態 1 出棧設為狀態 0 n個數的所有狀態對應n個1和n個0組成的2n位二進位制數。由於等待入棧的運算元按照1 n的順序排列 入棧的運算元b大於等於出棧的.n個元素進棧,共有多少種出棧順序 冷凝水 系統 蒸汽系統排出的高溫冷凝水,可最大...
關於資料結構進棧和出棧的問題望賜教(就剩20分了,您別嫌少)
和 這種操作符!放在變數的前面為 如i 1 等式 i 2 4 是先計算這個值,再執行等式的!而 i 2 3 是先計算等式,之後再計算i的值,等式計算後i的值才是 2 進棧 s elem s top 程式內部會這樣分為兩步執行 s elem s top s top s top 1 出棧 s elem ...