棧和隊(duì)列都是鏈?zhǔn)酱鎯?chǔ)的線性結(jié)構(gòu) 棧必須鏈?zhǔn)酱鎯?chǔ)?
棧必須鏈?zhǔn)酱鎯?chǔ)?堆棧是堆棧存儲(chǔ)。你為什么要鎖鏈?鏈可以模擬堆棧的操作,但不是必需的。您還可以使用連續(xù)隨機(jī)存儲(chǔ)來(lái)模擬堆棧鏈?zhǔn)酱鎯?chǔ)。最好的方法是使用鏈表的頭作為堆棧的頂部,這是最有效的。因此,堆棧中四個(gè)元
棧必須鏈?zhǔn)酱鎯?chǔ)?
堆棧是堆棧存儲(chǔ)。
你為什么要鎖鏈?鏈可以模擬堆棧的操作,但不是必需的。您還可以使用連續(xù)隨機(jī)存儲(chǔ)來(lái)模擬堆棧
鏈?zhǔn)酱鎯?chǔ)。最好的方法是使用鏈表的頭作為堆棧的頂部,這是最有效的。因此,堆棧中四個(gè)元素的狀態(tài)為:initial:empty 1。堆棧標(biāo)題->A2。B堆棧標(biāo)題->B->A3。C堆棧標(biāo)題->C->B->A3。D堆棧標(biāo)題->D->C->B->A。因此,最后一個(gè)stack元素是d。
堆棧的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)各有什么特點(diǎn)?
stack也稱為“先入后出表”。由于此屬性,它可以插入和刪除而不移動(dòng)元素。
堆棧插入實(shí)際上是堆棧按壓,這在堆棧頂部受到嚴(yán)格限制。由于棧頂也是表中的最后一個(gè)元素,按棧相當(dāng)于在序列表的末尾添加一個(gè)元素,這顯然不會(huì)影響前面的元素,在這種情況下,刪除一個(gè)元素只需要?jiǎng)h除序列表中的最后一個(gè)元素,這自然不會(huì)影響前面的元素。
對(duì)于堆棧的鏈?zhǔn)浇Y(jié)構(gòu),不需要移動(dòng)任何其他元素。實(shí)際上,鏈表結(jié)構(gòu)非常簡(jiǎn)單,刪除和插入操作本身不需要移動(dòng)其他元素,無(wú)論是對(duì)于堆棧還是對(duì)于一般鏈表