栈的顺序存储结构
考试要求: 掌握     
知识路径:  > 计算机科学基础  > 常用数据结构  > 队列、栈  > 


 
       栈的顺序存储用向量作为栈的存储结构,向量S表示栈,m表示栈的大小,用指针top指向栈顶位置,S[top]表示栈顶元素,当在栈中进行插入、删除操作时,都要移动栈指针;而当top=m-1时,则栈满,当top=-1时,表示栈空。同时为了避免浪费空间可以采用双栈机制,即向量的两端为栈底。
       栈的顺序存储结构的C语言描述如下:
       
       栈的说明如下。
       .由于C语言的数组下标的范围从0至StackSize-1,初始化设置sq.top=-1。
       .栈空条件为sq.top=-1,栈满条件为sq.top=StackSize-1。
       .栈顶元素为sq.data[sq.top]。
       .元素压栈的规则为:在栈不满时,先改变栈顶指针(top=top+1),再压栈。出栈时,在桟非空时,先取栈顶元素的值,再修改栈顶指针(top=top-1)。
       .栈中元素的个数为当前栈顶指针加1。
       在顺序栈上实现基本操作的有关函数如下。
       1)初始化InitStack(SqStack *S)
       
       2)判空StackEmpty(SqStack S)
       
       3)压栈Push(SqStack *S, ElemType e)
       
       4)出栈Pop(SqStack *S, ElemType *e)
       
       5)取栈顶GetTop(SqStack *S, ElemType*e)
       
       6)清栈ClearStack(SqStack *S)
       
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有