其他分享
首页 > 其他分享> > 【数据结构(C语言描述)】7、栈的介绍

【数据结构(C语言描述)】7、栈的介绍

作者:互联网

本文部分内容来自《数据结构(C语言版)严蔚敏著》,侵删歉。
待完善中...


基本概念:

1、栈:栈是一种特殊的线性表,它只允许表尾端进行插入或删除操作。
2、栈顶:栈允许进行插入或删除操作的那一端,也即表尾端。
3、栈底:栈不允许进行插入或删除操作的那一端,也即表头端。
4、空栈:不含元素的栈。
5、栈的特点:后进先出,即最后进入栈中的元素,总是最先从栈中移出。

定义栈的抽象数据类型:

ADT Stack{
数据对象:
数据关系:
基本操作:
    InitStack(&S)
        操作结果:构造一个栈S。
    DestroyStack(&S)
        初始条件:栈S已存在。
        操作结果:栈S被销毁。
    ClearStack(&S)
        初始条件:栈S已存在。
        操作结果:将Q清为空栈。
    StackEmpty(S)
        初始条件:栈S已存在。
        操作结果:若栈S为空栈,则返回TRUE,否则返回FALSE。
    StackLength(S)
        初始条件:栈S已存在。
        操作结果:返回S的元素个数,即栈的长度。
    GetTop(S,&e)
        初始条件:栈S已存在且非空。
        操作结果:用e返回S的栈顶元素。
    Push(&S,e)
        初始条件:栈S已存在。
        操作结果:插入元素e为新的栈顶元素。
    Pop(&S,&e)
        初始条件:栈S已存在且非空。
        操作结果:删除S的栈顶元素,并用e返回其值。
    StackTraverse(S,visit())
        初始条件:栈S已存在且非空。
        操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失败,则操作失败。
}ADT Stack

 

标签:存在,结果,元素,栈顶,初始条件,C语言,操作,数据结构,描述
来源: https://blog.csdn.net/wingrez/article/details/98058097