棧道是什么 數(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)、先出!其實,說白了!堆棧也是一個線性表!但其特殊的線性表具有以上兩點!以上意見僅供參考
不,它們之間的關(guān)系如圖所示。線性表包括順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。線性表的劃分是基于數(shù)據(jù)的邏輯結(jié)構(gòu)。線性意味著數(shù)據(jù)的邏輯結(jié)構(gòu)是線性的。也就是說,在非空的有限數(shù)據(jù)元素集中,(1)有一個唯一的數(shù)據(jù)元素稱為“第一個”;(2)有一個唯一的數(shù)據(jù)元素稱為“最后一個”;(3)除了第一個,集合中的每個數(shù)據(jù)元素只有一個前向元素;(4)除了最后一個,集合中的每個數(shù)據(jù)元素只有一個后續(xù)元素。對于線性表,從存儲結(jié)構(gòu)上可以分為順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。順序存儲結(jié)構(gòu)包括順序列表、順序隊列和順序堆棧;鏈?zhǔn)酱鎯Y(jié)構(gòu)包括鏈表、鏈?zhǔn)疥犃泻玩準(zhǔn)蕉褩!?/p>
棧是不是順序存儲的線性結(jié)構(gòu)???
順序堆棧,即堆棧的順序存儲結(jié)構(gòu),使用一組具有連續(xù)地址的存儲單元依次存儲從堆棧底部到堆棧頂部的數(shù)據(jù)元素。同時,還附加了一個指針top,以指示堆棧元素的頂部在順序堆棧中的位置。通常使用top=0表示空堆棧。一般來說,初始化空堆棧時,不應(yīng)限制堆棧的最大容量。更合理的方法是:首先為堆棧分配一個基本的容量,然后在應(yīng)用過程中當(dāng)堆??臻g不足時擴(kuò)展堆棧??斩褩5谋磉_(dá)式是s.top==s.base。