栈数据结构可视化

信息技术答疑+V jsxkzhu
返回主页

栈可视化区域

栈大小: 0 容量: 无限制

基本操作

栈类型设置

操作日志

操作日志将显示在这里...

栈信息

当前元素数量: 0
栈顶元素:
是否为空:

栈核心代码

# 创建空栈
stack = [0] * maxsize
top = -1
 
# 入栈
top += 1
stack[top] = data
 
# 出栈(需先判断栈非空)
out = stack[top]
top -= 1
 
# 栈非空判断
while top != -1:
# 处理栈顶元素
top -= 1
 
# 栈内元素数量
length = top + 1

知识点总结

空栈
top == -1
栈顶指针为 -1 时表示栈中没有任何元素。
满栈
top == maxsize - 1
栈顶指针到达数组最后一个位置时,无法继续入栈。
入栈
top += 1; stack[top] = data
先将栈顶指针向上移动一位,再将新元素存放到栈顶位置。
出栈
out = stack[top]; top -= 1
先取出栈顶元素,再将栈顶指针向下移动一位。出栈前必须先判断栈非空。
栈长度
length = top + 1
由于数组下标从 0 开始,栈顶指针加 1 即为栈中元素个数。