堆和棧哪個是先進(jìn)先出 數(shù)據(jù)結(jié)構(gòu)中棧不是存儲結(jié)構(gòu)嗎?
數(shù)據(jù)結(jié)構(gòu)中棧不是存儲結(jié)構(gòu)嗎?棧在數(shù)據(jù)結(jié)構(gòu)中是一種存儲結(jié)構(gòu)!但是,棧的存儲結(jié)構(gòu)是特殊的:1)它的操作(插入和刪除)只能限制在一端(通常稱為棧頂)2)棧的存儲通常是先入、后出、后進(jìn)、先出!其實,說白了!堆
數(shù)據(jù)結(jié)構(gòu)中棧不是存儲結(jié)構(gòu)嗎?
棧在數(shù)據(jù)結(jié)構(gòu)中是一種存儲結(jié)構(gòu)!但是,棧的存儲結(jié)構(gòu)是特殊的:1)它的操作(插入和刪除)只能限制在一端(通常稱為棧頂)2)棧的存儲通常是先入、后出、后進(jìn)、先出!其實,說白了!堆棧也是一個線性表!但其特殊的線性表具有以上兩點!以上觀點僅供參考
數(shù)據(jù)結(jié)構(gòu)中的棧是后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。它是一種獨立于語言和平臺的概念或邏輯技術(shù)。內(nèi)存管理中的“棧”實際上分為堆和棧。以引用變量為例,引用變量本身存儲在堆棧中,引用變量指向的值存儲在堆中。例如,int[]arr={1,2,3}變量arr(數(shù)組名)存儲在堆棧中,變量arr(數(shù)組元素)的值存儲在堆(普通結(jié)構(gòu))中。內(nèi)存棧管理采用數(shù)據(jù)結(jié)構(gòu)棧的思想,即遵循后進(jìn)先出的管理方法。例如,數(shù)據(jù)結(jié)構(gòu)中的堆棧是一種先進(jìn)的技術(shù),用于內(nèi)存管理和CPU調(diào)度。