搜索网站开发背景,东莞莞城网站建设公司,怎么用h5做网站,wordpress做在线商城目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack#xff09;是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表#xff0c;只能在栈顶进行插… 目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表只能在栈顶进行插入删除。 1.重要术语 ①栈顶允许插入和删除的一端。 ②栈底不允许插入和删除的一端。 ③空栈对应线性表的空表。 ④栈顶元素 ⑤栈底元素 2.特点 后进先出Last In First Out (LIFO) 2.栈的基本操作
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。 n个不同元素进栈出栈元素不同排列的个数为 1 n 1 C 2 n n \frac{1}{n1}C_{2n}^n n11C2nn。 上述公式称为卡特兰(Catalan数可采用数学归纳法证明。 3.栈的顺序存储 顺序存储给各个数据元素分配连续的存储空间大小为MaxSize*sizeof(ElemType) 用静态数组实现并需要记录栈顶指针。 1.顺序栈的定义 顺序栈的缺点:栈的大小不可变。 2.基本操作
1.初始化 2.进栈 3.出栈 4.读栈顶 3.共享栈 两个栈共享同一片内存空间两个栈从两边往中间增长。 栈满的条件 top0 1 top1 4.栈的链式存储 本质上用链式存储实现栈就是只允许在单链表的一段进行插入和删除操作。 进栈对应插入操作出栈对应删除操作。 进栈/出栈都只能在栈顶一端进行(链头作为栈顶)。