在C中移动堆栈

时间:2016-12-15 02:38:48

标签: c stack

我有一个简单的堆栈,我想使用向上和向下功能来完成它。我的down函数似乎跳过了一些数字并且它没有正确计数,如果我向上移动一个地方然后向下移动一个地方down函数返回的值小于{{1}显示的值功能。请帮助我在这里缺少什么?

up

1 个答案:

答案 0 :(得分:0)

  

我的down函数似乎跳过了一些数字,因此计数不正确

down()中,您至少必须删除

    if (stack->count < stack->top)

因为stack->list[stack->top]stack中有效的最后一项。

  

如果我将down函数上移一个位置然后将其下移一个位置,则返回的值小于up函数显示的值。

可能令人困惑的是,up()down()都显示了它们正在远离的值,因此当up()10移到{{1}时}显示9,随后的10down()返回9时显示10