Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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 如何修改抽象数据类型(ADT)堆栈?_Java_Stack_Abstract Data Type - Fatal编程技术网

Java 如何修改抽象数据类型(ADT)堆栈?

Java 如何修改抽象数据类型(ADT)堆栈?,java,stack,abstract-data-type,Java,Stack,Abstract Data Type,使用堆栈接口定义,堆栈顶部是哪个字符串,底部是哪个字符串 我知道.push方法只是将所选项目添加到堆栈顶部,但我遇到的问题是,push方法中有pop方法,或者push方法中有peek方法 我还需要关于String name=stringStack.pop()的帮助 StackInterface stringStack=new MyStack(); stringStack.push(“Jane”); stringStack.push(“Jess”); stringStack.push(“吉尔”);

使用堆栈接口定义,堆栈顶部是哪个字符串,底部是哪个字符串

我知道.push方法只是将所选项目添加到堆栈顶部,但我遇到的问题是,push方法中有pop方法,或者push方法中有peek方法

我还需要关于String name=stringStack.pop()的帮助

StackInterface stringStack=new MyStack();
stringStack.push(“Jane”);
stringStack.push(“Jess”);
stringStack.push(“吉尔”);
stringStack.push(stringStack.pop());
stringStack.push(stringStack.peek());
stringStack.push(“Jim”);
String name=stringStack.pop();
stringStack.push(stringStack.peek());
我希望订单是:


在这种情况下,吉姆·吉尔·吉尔·吉尔·杰斯·简·巴顿(Jim Jill Jess Jane BOTTOM)

stringStack.push( stringStack.pop()); 
您只需记住,
push
必须在推送值之前知道要推送什么值。它如何知道要推动什么价值?当然,正在评估
pop()
!因此,首先弹出一个项目,然后
push
知道要推哪个项目,然后向后推。换句话说,
push中的
pop
对堆栈没有任何影响

那么:

stringStack.push( stringStack.peek());
这将只查看顶部项目,然后将其推到堆栈上,而不是弹出顶部项目,然后将其推到堆栈上。所以总的来说,这只是“复制”最上面的项目

以下是每行之后堆栈的外观(左侧为顶部):


不:吉姆在你把它弹下来后就不在书堆里了。有道理。谢谢你,莫里斯
stringStack.push( stringStack.peek());
stringStack.push( “Jane” ); 
// Jane
stringStack.push( “Jess” ); 
// Jess Jane
stringStack.push( “Jill” ); 
// Jill Jess Jane
stringStack.push( stringStack.pop()); 
// Jill Jess Jane
stringStack.push( stringStack.peek()); 
// Jill Jill Jess Jane
stringStack.push( “Jim” ); 
// Jim Jill Jill Jess Jane
String name = stringStack.pop(); 
// Jill Jill Jess Jane
stringStack.push( stringStack.peek());
// Jill Jill Jill Jess Jane