棧是一種什么線性表 棧是一種線性表,它的特點是什么?
棧是一種線性表,它的特點是什么?棧(stack)在計算機科學中是限定僅在表尾進行插入或刪除操作的線形表。棧是一種數(shù)據(jù)結(jié)構(gòu),它按照先進后出的原則存儲數(shù)據(jù),先進入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂,需要讀
棧是一種線性表,它的特點是什么?
棧(stack)在計算機科學中是限定僅在表尾進行插入或刪除操作的線形表。
棧是一種數(shù)據(jù)結(jié)構(gòu),它按照先進后出的原則存儲數(shù)據(jù),先進入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂,需要讀數(shù)據(jù)的時候從棧頂開始彈出數(shù)據(jù)(最后一個數(shù)據(jù)被第一個讀出來)。棧是只能在某一端插入和刪除的特殊線性表。用桶堆積物品,先堆進來的壓在底下,隨后一件一件往堆。取走時,只能從上面一件一件取。堆和取都在頂部進行,底部一般是不動的。棧就是一種類似桶堆積物品的數(shù)據(jù)結(jié)構(gòu),進行刪除和插入的一端稱棧頂,另一堆稱棧底。插入一般稱為進棧(PUSH),刪除則稱為退棧(POP)。棧也稱為后進先出表(LIFO表)。1、進棧(PUSH)算法 ①若TOP≥n時,則給出溢出信息,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢出;不滿則作②); ②置TOP=TOP 1(棧指針加1,指向進棧地址); ③S(TOP)=X,結(jié)束(X為新進棧的元素); 2、退棧(POP)算法 ①若TOP≤0,則給出下溢信息,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②); ②X=S(SOP),(退棧后的元素賦給X); ③TOP=TOP-1,結(jié)束(棧指針減1,指向棧頂)。棧是什么線性表?
線性表簡稱表,是指元素之間存在線性關(guān)系:非空序列有唯一的首元素和尾元素,其他的元素只有唯一的前趨和后繼元素,多于1個元素時,首元素有唯一的后繼,沒有前趨,尾元素只有唯一的前趨,沒有后繼如果用順序存儲結(jié)構(gòu)存儲線性表通稱順序表,鏈接存儲結(jié)構(gòu)存儲的簡稱鏈表棧屬于線性表,與一般線性表的差別在于限制了插入和刪除位置:只能在線性表的一端插入和刪除,該端點稱為棧頂,另外的一端稱為棧底
棧和線性表有什么區(qū)別?
線性表是最常用、最簡單的一種線性結(jié)構(gòu)。 棧是特殊的線性表,是只允許在一端進行插入和刪除的線性表。允許插入和刪除的叫棧頂,反之則是棧底。棧的插入稱為進棧,刪除稱為出棧。棧的特性是:后進先出,所以棧也叫后進先出表,簡稱LIFO表(Last In First Out)