Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用数组实现Java堆栈数据结构_Java_Data Structures - Fatal编程技术网

使用数组实现Java堆栈数据结构

使用数组实现Java堆栈数据结构,java,data-structures,Java,Data Structures,我正在尝试使用堆栈实现推送和弹出操作 下面是代码 public class StackMain { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub StackDS obj = new StackDS(); obj.push(10); obj.push(20); obj.

我正在尝试使用堆栈实现推送和弹出操作

下面是代码

public class StackMain {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub

        StackDS obj = new StackDS();
        obj.push(10);
        obj.push(20);
        obj.push(30);
        obj.push(40);
        obj.push(50);

        System.out.println("Before pop");
        obj.print();
        System.out.println();
        System.out.println("After pop");
        obj.pop();
        obj.print();
    }

}
这里,我原来的数组大小是5。插入5个元素后,
top=5。
因此,我尝试
预先递减top变量
以使用pop操作检索值。 因此,当我使用
arr[--top]
执行pop操作时,它实际上是在获取
4元素(本例中为40)
。但是,实际上它应该获取
第5个元素(50)。
我不确定我在这里做错了什么。 请查找eclipse调试器结果


每次您
pop
@StephenC-更改为arr[top]=0后,您似乎将
top
递减两次;它工作得很好。谢谢。
--top
也将更新
top
的值!要么使用
top-1
获得“无副作用”评估,要么使用
--top
一次,然后再使用
top
。在更改为arr[top]=0后,每次
pop
@StephenC-时,您似乎要递减
top
两次;它工作得很好。谢谢。
--top
也将更新
top
的值!使用
top-1
获得“无副作用”评估,或使用
--top
一次,然后再使用
top