棧頂:線性表允許進行插入刪除的那一端。
棧底:固定的,不允許進行插入和刪除的另一端。
空棧:不含任何元素的空表
initstack(&s): 初始化乙個空棧s。
stackempty(s):判斷乙個棧是否為空,若棧s為空則返回true,否則返回false。
push(&s,x):進棧,若棧s未滿,則將x加入使之成為新棧頂。
pop(&s,%x):出棧,若棧s非空,則彈出棧頂元素,並用x返回。
gettop(&s,&x):讀棧頂元素,若棧s非空,則用x返回棧頂元素。
destroystack(&s):銷毀棧,並釋放棧s占用的儲存空間。
棧是一種操作受限的線性表,類似於線性表,它也有對應的兩種儲存方式。
#define maxsize 50
typedef structsqstack;
棧頂指標:s.top,初始時設定s.top=-1;棧頂元素:s.data[s.top].
進棧操作:棧不滿時,棧頂指標先加1,再送值到棧頂元素。
出棧操作:棧非空時,先取棧頂元素值,再將棧頂指標減1.
棧空條件:s.top==-1;棧滿條件:s.top==maxsize-1;棧長:s.top+1.
初始化:
void
initstack
(sqstack &s)
*listack;
採用鏈式儲存,便於結點的插入與刪除。鏈棧的操作與鍊錶相似,入棧和出棧操作都在表頭進行。
考研資料結構筆記 佇列
鏈佇列佇列的定義 是一種先進先出的線性表,僅允許在表的一端進行插入,在表的另一端進行刪除,可進行插入操作的一端稱為隊尾,可進行刪除操作的一端稱為隊首。佇列的特點 先進先出 first in first out,fifo 佇列的儲存結構 可以分為順序佇列和鏈隊。順序佇列的定義 typedef stru...
考研資料結構筆記 棧
鏈棧棧的定義 棧是一種只能在一端進行插入或刪除操作的線性表,棧頂 允許進行插入或刪除操作的一端稱為棧頂 棧底 相對於棧頂在表的另一端,不能進行插入或刪除操作的一端稱為棧底,棧底是固定不變的。入棧 向棧中插入元素 出棧 刪除棧頂元素 棧最主要的特點就是先進後出 last in first out 按照...
2019資料結構考研 三 棧和佇列
棧的定義 棧是一種只允許在一端進行插入或者刪除的線性表 後進先出的線性表 棧頂 棧中允許插入和刪除的一端 棧底 固定的 空棧棧的順序表示 define maxsize 50 typedef struct sqstack void initstack sqstack s bool stackempty...