4 資料結構筆記之四棧和佇列定義

2021-08-08 00:20:30 字數 584 閱讀 3197

4、資料結構筆記之四棧和佇列定義

「人生應該如蠟燭一樣,從頂燃到底,一直都是光明的。」

棧(stack)又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。棧的儲存表示方法有兩種分別是順序棧和鏈式棧。

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

建立順序佇列結構必須為其靜態分配或動態申請一片連續的儲存空間,並設定兩個指標進行管理。乙個是隊頭指標front,它指向隊頭元素;另乙個是隊尾指標rear,它指向下乙個入隊元素的儲存位置

在實際使用佇列時,為了使佇列空間能重複使用,往往對佇列的使用方法稍加改進:無論插入或刪除,一旦rear指標增1或front指標增1 時超出了所分配的佇列空間,就讓它指向這片連續空間的起始位置。

資料結構 筆記4 棧和佇列

棧 stack 是限定在表的一端進行插入和刪除運算的線性表。插入,刪除的一段稱為棧頂 top 另一端為棧底 buttom 不含元素的空表稱為空棧。棧又被稱為後進先出 last in first out 的線性表 棧的順序結構 順序棧 1.棧的順序儲存結構稱為順序棧。2.當棧滿時再做進棧運算必定產生控...

資料結構之棧和佇列(四)

佇列也是一種特殊的線性表,其特點是先進先出,順序儲存結構的佇列存在陣列溢位的情況,所以一般選擇鏈式儲存結構。1.標頭檔案queue.h typedef int elemtype typedef struct node queuenode,queueptr typedef struct nodefla...

資料結構 四 棧和佇列

adt 棧 stack data 同線性表。元素具有相同的型別,相鄰元素具有前驅和後堆關係。operation initstack s 初始化操作.建立乙個空棧s。destroystack s 若棧存在,則銷毀它。clearstack s 將棧清空。stackempty s 若棧為空,返回true,...