棧是一種有約束的順式結構,他需要遵循先進後出,後進先出的基本規則,我們可以用順序表和煉表兩種方式來實現
因為簡單就意味著不容易出錯,所以在這裡我使用順序表來實現棧
stack.h
#pragma once
#include#include//對於棧我們可以用順序表和煉表來實現,棧的**並不難,在此處,為了省事,直接用順序表來表示
typedef int sdatatype;
#define max_size (100)
typedef struct stack;
void initstack(stack *ps)//初始化棧
void stackpush(stack *ps, sdatatype data)//壓棧
void stackpop(stack *ps)//出棧,棧中只有乙個出棧的方向
void stackdestroy(stack *ps)//銷毀棧
sdatatype stacktop(const stack *ps)//返回棧頂元素
int stacksize(const stack *ps)//返回棧元素的數量
int stackempty(const stack *ps)//判斷棧是否為空
void test()
test.c
#define _crt_secure_no_warnings 1
#include"stack.h"
int main()
用順序表實現棧 python描述
class stack object 棧 def init self 初始化乙個順序表來作為棧的容器,在python中可以是乙個空列表 self.list defpush self,item 新增乙個新的元素item到棧頂 self.list是list類的乙個例項,可以呼叫列表基類的方法 defpo...
Linux資料結構 棧(用順序表實現)
用順序表實現的棧和順序表有什麼區別呢?我們先來分析下它們的結構體 順序表 typedef char seqlisttype typedef struct seqstack max size是這個順序表最多能容納的資料 size為當前的元素的個數 棧 typedef char seqstacktype...
棧的順序表實現
順序棧的實現 清空了,只是棧頂指標從頭開始,棧所占用空間已在。銷毀,就是棧記憶體釋放,這個棧就死亡了 鍊錶形式的需要逐個結點釋放。如果是動態分配,整體一次釋放 include define stacr init size 100 define stacr add size 10 typedef ch...