資料結構考研學習筆記(五) 棧和佇列

2021-10-05 19:43:48 字數 880 閱讀 3344

棧頂:線性表允許進行插入刪除的那一端。

棧底:固定的,不允許進行插入和刪除的另一端。

空棧:不含任何元素的空表

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...