范文网 合同范本 顺序栈的实现总结(最新)

顺序栈的实现总结(最新)

顺序栈的实现总结 第一篇栈是只允许在一端进行 插入或 删除的 线性表。注意栈是个操作受限的线性表栈顶:只允许插入或者删除栈底:固定的,不允许进行插入或删除的另一端空栈:不含任何数据元素的栈栈又被称为后。

顺序栈的实现总结

顺序栈的实现总结 第一篇

栈是只允许在一端进行 插入删除线性表

注意栈是个操作受限的线性表

栈顶:只允许插入或者删除

栈底:固定的,不允许进行插入或删除的另一端

空栈:不含任何数据元素的栈

栈又被称为后进先出的线性表,简称为LIOF(last in first out)

顺序栈的实现总结 第二篇

栈是只允许在一端进行插入或者删除操作的线性表。如图所示

栈顶(Top)。线性表允许进行插入删除的那一端。 栈底(Bottom)。固定的,不允许进行插入和删除的另一端。 空栈。不含任何元素。

假设某个栈S=(a一,a二,a三,a四,a五),如上图所示,则a一为栈底元素,a五为栈顶元素。由于栈只能在栈顶进行插入和删除操作,进栈次序依次是a一,a二,a三,a四,a五,而出栈次序为a五,a四,a三,a二,a一。栈的操作特性为后进先出。

二.栈的基本操作

InitStack(&S):初始化一个空栈S。

StackEmpty(S):判断一个栈是否为空,若为空则返回true,否则返回false。

Push(&S,x):进栈,若栈S未满,则将x加入使之成为新栈顶。

Pop(&S,x):出栈,若栈S非空,则弹出栈顶元素,并用x返回。

GetTop(S,&x):读取栈顶元素,若S非空,则用x返回栈顶元素。

DestroyStack(&S):销毁栈。

顺序栈的实现总结 第三篇

另外用stacksize表示栈可使用的最大容量 

        简单、方便、但是容易溢出(数组大小固定)

        base == top栈空的标志

         top - base == stacksize栈满的标志。

具体栈空、栈满的示意图如下

一.报错,返回系统

二.分配更大的空间,作为栈的存储空间,将原栈的内容移入新栈

上溢:栈已经满,又要压入元素

下溢:栈已经空,还要弹出元素

(注:上溢是一种错误,使问题的处理无法进行;而下溢一般认为是—种结束条件,即问题处理结束。)

bool InitStack(SqStack &S);                                 //一.栈的初始化

bool StackEmpty(SqStack S);                              //二.判断是否为空

int StackLength(SqStack S);                                //三.求栈的长度

void DestroyStack(SqStack &S);                         //四.销毁栈

void ClearStack(SqStack &S);                             //五.清空顺序栈

bool Push(SqStack &S, ElemType e);                 //六.入栈

bool Pop(SqStack &S, ElemType &e);                //七.出栈

bool Gettop(SqStack &S, ElemType &e);            //八.得到栈顶元素 

顺序栈的实现总结 第四篇

一.顺序栈的实现

采用顺序存储的栈称为顺序栈,它利用一组连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针top指示前栈顶元素的位置。如下所示

栈顶指针:,初始化设置;栈顶元素:[]。

进栈操作:栈不满时,栈顶指针先加一,再送值到栈顶元素。

出栈操作:栈非空时,先取栈顶元素值,再将栈顶指针减一。

栈空条件:;栈满条件:;栈长:。

二.顺序栈的基本运算

初始化

判断栈是否为空

进栈操作

出栈操作

读取栈顶元素

主函数main

顺序栈的实现总结 第五篇

                在国内计算机研究生考试中,如果没有明确规定操作名称,题干没有给出限制,则可以直接使用这些常用操作函数。

                以下是基于严蔚敏版的基本操作:

        InitStack(&S):        初始化一个空表。

        StackEmpty(&S):   判断栈是否为空,若为空则返回true,否则为false。

        Push(&S,x):           进栈,若栈未满,则将新元素插入到的位置。

        Pop(&S,&x):          出栈,若栈未空,则将栈顶元素赋值给x,并将Top指针-一。

        GetTop(S,&x) :      读取栈顶元素,若栈未空,将栈顶元素赋值给x

        DestroyStack(&S):销毁栈,并释放栈所用空间。

        ClearStack(&S):    清空栈,将Top指针指向-一的初始化位置。

顺序栈的实现总结 第六篇

                栈(Stack)是一种后进先出的线性表,限定这种类型的线性表为只能在某一端进行插入和删除操作。

                基于栈的特性,我们把它称作后进先出表(Last in First out)LIFO。

                常用术语:

                           栈顶(Top):线性表允许插入和删除的那一端。

                           栈底:不可操作的那一端。

                           空栈:不包含任何元素的空表。

上一篇
下一篇
返回顶部