栈(一)

一、栈的定义

            栈是一类操作受限制的线性表,其特殊性在于限制了插入和删除等操作的位置。

           栈作为一种限定性线性表,将线性表的插入和删除操作限制为仅在线性表的一端进行,通常将表中允许插入和删除

           操作的一端称为栈顶,而另一端称为栈底。当栈中没有元素时,称为空栈。

          栈的特性:后进先出。

          抽象数据类型定义:

                (1)InitStack(S)

        将栈S初始化为空栈

                (2)ClearStack(S)

        将栈S置为空栈

                (3)IsEmpty(S)

        判断栈是否为空。若S为空栈,则返回TRUE,否则 返回FALSE

                (4)IsFull(S)

        判断栈是否满栈。如果S为满栈,则返回TRUE,否 则返回FALSE

                (5)Push(S,x)

        在栈S的顶部插入元素x。若栈未满,则将x插入栈顶位置,并返回TRUE,若栈已满,则返回FALSE

        表示操作失败。

                (6)Pop(S,x)

        删除栈S的顶部元素,并用x带回该值,返回TRUE;若栈为空,返回FALSE,表示操作失败。

                (7)GetTop(S,x)

        取栈S的顶部元素赋给x所指向的单元,也成读取栈顶元素。与Pop不同之处在于GetTop不改变栈顶的位置。

        若栈为空,则返回FALSE,表示操作失败。


猜你喜欢

转载自blog.csdn.net/m0_37671794/article/details/80402645