C語言 一分鐘看懂的順序儲存棧表操作

2021-10-04 22:32:44 字數 2791 閱讀 4546

基本操作**

完整**

棧:只允許在一端進行插入或刪除操作的線性表,限制訪問點的線性表

棧頂(top) :線性表允許插入刪除的那一端

棧底 :固定的,不允許插入刪除的一端

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

入棧**

出棧**

棧頂指標 : 初始值設定s.top=-1入棧: s.top先加1,在入棧

出棧:先出棧,s.top在減1

棧空判斷條件:s.top==-1

棧滿判斷條件:s.top=maxsize-1

void

initstck

(stck *s)

int

stckempty

(stck s)

return0;

}

int

push

(stck *s,

int value)

s->top++

;//棧指標加1;

s->data[s->top]

= value;

//入棧

return0;

}

int

pop(stck *s)

value = s->data[s->top]

;//出棧

s->data[s->top]

='\0'

;//銷毀棧頂元素

s->top--

;//棧指標減1;

return value;

//返回出棧元素

}

int

gettop

(stck s)

int value;

value = s.data[s.top]

;//獲取棧頂元素

#ifndef __線性表棧__h__

#define __線性表棧__h___

#define maxsize 20

typedef

struct stck

stck;

void

initstck

(stck *s)

;//初始化棧

intstckempty

(stck s)

;//判斷棧是否為空

intpush

(stck *s,

int value)

;//進棧

intpop

(stck *s)

;//出棧

intgettop

(stck s)

;//獲得棧頂元素

#endif

// !__線性表棧__h__

#include

"線性表棧.h"

void

initstck

(stck *s)

//初始化棧

intstckempty

(stck s)

return0;

}//判斷棧是否為空

intpush

(stck *s,

int value)

s->top++

;//棧指標加1;

s->data[s->top]

= value;

//入棧

return0;

}//進棧

intpop

(stck *s)

value = s->data[s->top]

;//出棧

s->data[s->top]

='\0'

;//銷毀棧頂元素

s->top--

;//棧指標減1;

return value;

//返回出棧元素

}//出棧

intgettop

(stck s)

int value;

value = s.data[s.top]

;//獲取棧頂元素

return value;

}//獲得棧頂元素

#include

#include

"線性表棧.h"

void

main()

;//初始化棧

//判斷棧是否為空

i++;}

}//進棧

else

}//出棧

}

一分鐘看懂mysql 一分鐘,看懂易貨

從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...

一分鐘看懂資料湖架構

資料湖和資料倉儲兩者都廣泛應用於大資料儲存,但兩者之間概念不可互換。資料湖是儲存原始資料的池,目的仍沒有明確。資料倉儲儲存結構化的 已過濾 處理的資料,用於特定分析目的。兩種資料儲存架構經常被混淆,起始兩者之間差異大於共性。事實上,唯一共性都為了儲存海量資料。了解兩者 區別很重要,因為它們服務於不同...

帶你一分鐘看懂企業直播特性

直播直至今日依然火爆如初,直播 讓很多行業趨之若鶩,當然現在已經有不少行業嵌入了直播服務和技術,那麼對於企業來說,直播是一種全新的營銷工具,利用它的特性就能夠有很好的營銷效果,那麼企業是怎麼結合直播特性來營銷的呢?1 實時性 說到實時,我們都能夠想到當前的熱點突發事件,如前不久的美國 選舉。隨著5g...