用順序表實現棧

2021-08-30 04:17:57 字數 862 閱讀 7696

棧是一種有約束的順式結構,他需要遵循先進後出,後進先出的基本規則,我們可以用順序表和煉表兩種方式來實現

因為簡單就意味著不容易出錯,所以在這裡我使用順序表來實現棧

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...