顺序栈的类型定义

2023-12-18 13:20:29   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《顺序栈的类型定义》,欢迎阅读!
顺序,定义,类型

1、顺序栈的类型定义

#define StackSize 100 //假定预分配的栈空间最多为100 个元素 typedef char ElementType;//假定栈元素的数据类型为字符 typedef struct{

ElementType data[StackSize]; int top; }SeqStack; 注意:

顺序栈中元素用向量存放;

栈底位置是固定不变的,可设置在向量两端的任意一个端点;

栈顶位置是随着入栈和出栈操作而变化的,用一个整型量top(通常称top 为栈顶指针)来指示当前栈顶位置。 2、顺序栈的结构





注意:top 指向入栈是下一个元素将要存放的位置; top-1(减1)是指向出栈时下一个元素的取值位置。 栈空的条件:top==base;

栈满的条件:top-base>=stacksize 3、顺序栈的基本操作

前提条件:设S SeqStack 类型的指针变量。若栈底位置在向量的低端,即S-data[0]是栈底元素。 top:

1 进栈操作

进栈时,需要将S-top 1


注意:

入栈操作前,需要查看栈是否已满,S-top==StackSize-1 表示栈满

"上溢"现象--当栈满时,再做入栈运算产生空间溢出的现象。上溢是一种出错状态,应设法避免。 2 出栈操作

退栈时,需将S-top 1 注意:

出栈操作前需要考虑栈中是否有元素,S-top<0 表示空栈 "下溢"现象——当栈空时,做出栈运算产生的溢出现象。 下溢是正常现象,常用作程序控制转移的条件。

顺序栈在入栈和出栈操作时的具体变化情况,分别如下图所示:










本文来源:https://www.dywdw.cn/8f0de5256f85ec3a87c24028915f804d2b168734.html

相关推荐
推荐阅读