栈可视化区域
栈大小: 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 即为栈中元素个数。