栈的基本概念

王道考研笔记

 知识总览

 

 

 栈的定义:

  线性表:是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表示为

  L=(a1,a2,.....ai,ai+1,an)。

  栈(Stack):是只允许在一端进行插入或删除操作的线性表。也就是说栈是不能在中间插入,只能在一端的位置添加或者删除。通过下图英语的解释能够更好的理解。

  

 

 

   栈的重要术语:栈顶,栈底,栈空

  

 

 

 

栈的基本操作:

    InitStack(&S):初始化栈。构造一个空栈S,分配内存空间。【栈的创建】

  DestroyStack(&L):销毁栈。销毁并释放栈s所占用的内存空间。【栈的销毁】

  push(&S,x):进栈,若栈S未满,则将x加入使之成为新栈顶。【栈的增加】

  Pop(&s,&x):出栈,若栈S非空,则弹出栈顶元素,并用x返回。【栈的删除,只删除栈顶元素】

  GetTop(S,&x):读栈顶元素。若栈S为空,则用X返回栈顶元素。【栈的查找,栈的使用场景中大多只访问栈顶元素】

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

 

知识总结:

 

 

posted @ 2020-12-29 14:59  Mikoor  阅读(200)  评论(0)    收藏  举报