(C语言版)栈和队列(二)——实现顺序存储栈和顺序存储队列的相关操作

本文介绍如何使用C语言通过数组实现顺序存储的栈和队列,包括其特点和可能出现的溢出问题。提供了SequentialStack.h头文件作为代码示例。
摘要由CSDN通过智能技术生成

        栈和队列都有两种实现方式,一种在之前已经写过了,是链式存储形式,另一种是顺序存储形式。也就是这里所写的用数组的形式实现,和链式存储形式相比,有几个不同的地方。

  1. 顺序存储的方式,必须确定栈和队列的大小,也就是要确定数组的大小。而链式储存是动态分配的,根据需要来增减。
  2. 顺序存储的方式有溢出的现象,由于是数组存储,所以超出数组下标的时候就溢出了。

        下面上代码:

SequentialStack.h 顺序存储栈头文件

#ifndef _SEQUENTIALSTACK_H_H
#define _SEQUENTIALSTACK_H_H

typedef int SStackEle;
const int MAXSTACK = 20;

typedef struct SSTACK
{
	SStackEle arrele[MAXSTACK];
	SStackEle top;
}SStack;

//初始化顺序栈
void InitSStack(SStack &s);

//压入栈
void PushSStack(SStack &s, SStackEle ele);

//出栈
void PopSStack(SStack &s, SStackEle &ele);

//判断栈是否为空
bool IsemptySStack(SStack s);

//得到栈顶元素
SStackEle GetTopSStack(SStack s);

#endif
SequentialQueue.h 顺序存储队列头文件


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值