鏈棧棧的定義:棧是一種只能在一端進行插入或刪除操作的線性表,
棧頂:允許進行插入或刪除操作的一端稱為棧頂
棧底:相對於棧頂在表的另一端,不能進行插入或刪除操作的一端稱為棧底,棧底是固定不變的。
入棧:向棧中插入元素
出棧:刪除棧頂元素
棧最主要的特點就是先進後出(last in first out)
按照儲存結構分,可以將棧劃分為兩種:順序棧和鏈式棧
//順序棧的定義
typedef structsqstack;
//鏈棧結點的定義
typedef struct lnodelnode;
兩個狀態:
兩個操作:
順序棧操作**
//初始化棧
void initstack(sqstack &st)
//判斷棧空
int isempty(sqstack st)
//入棧
int push(sqstack &st, int x)
//出棧
int pop(sqstack &st, int &x)
//注意:棧滿不入棧,棧空不出棧,要記得判斷。
兩個狀態:
兩個操作:
鏈棧基本操作**
//初始化鏈棧
void initstack(lnode *&lst)
//判斷棧空
int isempty(lnode *lst)
//進棧
void push(lnode *lst, int x)
//出棧
int pop(lnode *lst, int &x)
考研資料結構筆記 佇列
鏈佇列佇列的定義 是一種先進先出的線性表,僅允許在表的一端進行插入,在表的另一端進行刪除,可進行插入操作的一端稱為隊尾,可進行刪除操作的一端稱為隊首。佇列的特點 先進先出 first in first out,fifo 佇列的儲存結構 可以分為順序佇列和鏈隊。順序佇列的定義 typedef stru...
王道考研 資料結構 筆記
上面這張圖來自課件,發現這張圖將計算機四大基礎學科之間的關係很好的體現出來了,故貼在這。資料元素 資料項 資料元素是資料的基本單位。資料元素由資料項組成。如,在飯館排隊的顧客,可用以下資料元素和資料項表示 資料結構 資料物件 資料結構是相互之間存在一種或多種特定關係的資料元素的集合。資料物件是具有相...
資料結構考研學習筆記(五) 棧和佇列
棧頂 線性表允許進行插入刪除的那一端。棧底 固定的,不允許進行插入和刪除的另一端。空棧 不含任何元素的空表 initstack s 初始化乙個空棧s。stackempty s 判斷乙個棧是否為空,若棧s為空則返回true,否則返回false。push s,x 進棧,若棧s未滿,則將x加入使之成為新棧...