鏈式存儲結(jié)構(gòu)示意圖 棧的順序存儲空間怎么表示?
棧的順序存儲空間怎么表示?順序堆棧,即堆棧的順序存儲結(jié)構(gòu),使用一組具有連續(xù)地址的存儲單元依次存儲從堆棧底部到堆棧頂部的數(shù)據(jù)元素。同時,還附加了一個指針top,以指示堆棧元素的頂部在順序堆棧中的位置。通
棧的順序存儲空間怎么表示?
順序堆棧,即堆棧的順序存儲結(jié)構(gòu),使用一組具有連續(xù)地址的存儲單元依次存儲從堆棧底部到堆棧頂部的數(shù)據(jù)元素。同時,還附加了一個指針top,以指示堆棧元素的頂部在順序堆棧中的位置。通常使用top=0表示空堆棧。一般來說,初始化空堆棧時,不應(yīng)限制堆棧的最大容量。更合理的方法是:首先為堆棧分配一個基本的容量,然后在應(yīng)用過程中當(dāng)堆??臻g不足時擴展堆棧。空堆棧的表達式是s.top==s.base。
數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)之棧的順序存儲表示與實現(xiàn)?
使用top指示順序堆棧的頂部指針。如果top=-1,則堆棧為空,否則,堆棧的元素數(shù)為top。下面是順序堆棧的結(jié)構(gòu)定義?define maxsize 20/*存儲空間的初始分配*/typedef int selemtype/*selemtype。類型取決于實際情況。這里我們假設(shè)它是int type*//*sequential stack structure*/typedef struct{selemtype}Data[maxsize]int top/*用于棧頂指針*/}sqstack/*來構(gòu)造空棧s*/status initstack(sqstack*s){s->top=-1//將棧頂指針設(shè)置為-1,這意味著順序堆棧是空的。返回OK}