栈的定义
* 栈仅能在线性表的一端进行操作
栈顶(Top) : 允许操作的一端
栈底(Bottom) :不允许操作的一端
栈的性质
栈的操作
# 栈的一些常用操作
* 创建栈
* 销毁栈
* 清空栈
* 进栈
* 出栈
* 获取栈顶元素
* 获取栈的大小
栈的顺序存储实现
下面的顺序栈是不能支持结构体的!
现在我们先来实现顺序栈,由于之前我们实现了顺序表,现在代码复用,用其来实现顺序栈
SeqStack.h
#ifndef _SEQSTACK_H_ #define _SEQSTACK_H_ typedef void SeqStack; SeqStack* SeqStack_Create(int capacity); void SeqStack_Destroy(SeqStack* stack); void SeqStack_Clear(SeqStack* stack); int SeqStack_Push(SeqStack* stack, void* item); void* SeqStack_Pop(SeqStack* stack); void* SeqStack_Top(SeqStack* stack); int SeqStack_Size(SeqStack* stack); int SeqStack_Capacity(SeqStack* stack); #endif