資料結構3 棧

2021-07-27 02:51:08 字數 977 閱讀 9273

2-2 鏈式棧儲存結構與基本運算

3、棧的應用

棧(stack):限定在棧頂(表尾)進行插入(入棧)和刪除(出棧)的線性表。基操作的特性是先進後出,又稱為**後進先出(last in first out, lifo)**的線性表。

根據棧的設計儲存結構的不同,一般分也順序棧鏈式棧,對應的基本運算操作也有所不同。

棧的順序儲存是指分配一塊連續的儲存單元存放棧的元素,並同時附設乙個變數(top)指向當前棧頂的位置。

棧的基本設定不一定都是相同的,這裡設定top為-1時為棧空,也的設定是0為棧空。

#define maxsize 50

typedef structsqstack;

初始化棧的**片段

s.top = -1;
判斷棧空的**片段

if(s.top == -1)return true;

else return false;

進棧操作的**片段

if(s.top == maxsize-1)return false;

s.data[++s.top] = x;

出棧操作的**片段

if(s.top == -1)return false;

x = s.data[s.top--];

讀棧頂的**片段

if(s.top == -1)return false;

x = s.data[s.top];

typedef struct linknode*listack;					//

資料結構3 棧

pragma once include include include include using namespace std 棧的典型應用 1 有明確演算法解決乙個問題,但是問題的解卻以線性序列的形式給出。2 無論是遞迴還是迭代實現,該線性序列都是以逆序計算輸出的。3 輸入輸出規模不確定,難以事先...

資料結構(3) 棧

0.目錄 1.線性表 陣列 2.線性表 單向鍊錶 3.棧棧是一種比較常見的資料結構,是一種較為特殊的線性表。對於棧來說,插入 刪除 訪問元素只能在棧頂進行。對棧的基本操作有push 進棧 pop 出棧 和peek 查詢棧頂 基於這種特性,棧又叫做lifo last in first out 表,即後...

資料結構3 棧

2 2 鏈式棧儲存結構與基本運算 3棧的應用 棧 stack 限定在棧頂 表尾 進行插入 入棧 和刪除 出棧 的線性表。基操作的特性是先進後出,又稱為後進先出 last in first out,lifo 的線性表。根據棧的設計儲存結構的不同,一般分也順序棧和鏈式棧,對應的基本運算操作也有所不同。棧...