这两种处理堆栈和队列的方法有什么区别?两者都叫什么?
第一种方式:
import java.util.Arrays;
public class StackMethods {
private int top;
int size;
int[] stack ;
public StackMethods(int arraySize){
size=arraySize;
stack= new int[size];
top=-1;
}
public void push(int value){
if(top==size-1){
System.out.println("Stack is full, can't push a value");
}
else{
top=top+1;
stack[top]=value;
}
}
public void pop(){
if(!isEmpty())
top=top-1;
else{
System.out.println("Can't pop...stack is empty");
}
}
public boolean isEmpty(){
return top==-1;
}
public void display(){
for(int i=0;i<=top;i++){
System.out.print(stack[i]+ " ");
}
System.out.println();
}
}
第二种方式:
public class StackReviseDemo {
public static void main(String[] args) {
StackMethods newStack = new StackMethods(5);
newStack.push(10);
newStack.push(1);
newStack.push(50);
newStack.push(20);
newStack.push(90);
newStack.display();
newStack.pop();
newStack.pop();
newStack.pop();
newStack.pop();
newStack.display();
}
}
它们是否正确?试图学好这些,但互联网上的解释却模糊不清。。
我不是100%确定你说的两种方式是什么意思。查看您的第一个代码片段,我们可以看到您正在声明类StackMethods
。在第二个示例中,您正在实例化类StackMethods
的一个对象。因此,在第二个代码段的main方法中,您要做的就是创建一个对象,该对象正在调用您在上面的类中声明的方法push()、pop()和display()。实际上并没有实现两个数据结构,只是实现了一个基本堆栈。
好消息是,总体而言,您已经掌握了堆栈的概念,因为类“StackMethods”的实现总体上是正确的。
关于队列和堆栈之间的区别,这个问题可能会帮助您:
如果这没有回答你的问题,我只是误解了它,请发表评论,让我知道,这样我可以尝试帮助你更好一点。
数字键盘字母组合问题[M]
我正在为我的考试做复习,我遇到了这个问题,我需要在执行以下代码后找到Q1的内容。 数据 普塞多密码 这是我的解决方案 > 如果数字不是0,则将数字推送到堆栈,使堆栈现在变为0 否则,弹出堆栈的前两个元素,因此现在堆栈变为 3.循环堆栈!清空,弹出堆栈并在Q1中排队。所以现在堆栈为空,队列变为空 33是队列中的第一个,5是队列中的最后一个。 我仔细核对了提供的答案,发现我的答案不同 提供的答案 我不
因为它是一个队列,所以它将是FIFO,子字符串将导致输出为:OneWour?因为s.substring()是(3),所以不存在任何值。 最后,我在普林斯顿的CS课上发现了两个问题,但我不知道答案是怎么来的 假设客户机执行(queue)、入队和出队操作的混合序列。入队操作将整数0到9按顺序放入队列;出队列操作打印返回值。下列哪个序列不能发生? 假设执行(堆栈)push和pop操作的混合序列。推送按顺
Stack类 栈:(水杯喝水,先进后出) 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。他按照先进后出的原则存储数据 Enumeration(枚举) hasMoreElements() 测试此枚举是否包含更多的元素 nextElements() 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素 代码演示: package day07; import java.util.D
我有一个包含n个元素的队列,前面是。我需要创建一个堆栈,上面有。 它只能通过排队、退队、推送和弹出以及持续存储来完成。与其说我需要一个答案,不如说我需要一个如何解决这个问题的想法。 请不要为我回答这个问题,但是请试着理解我是编程新手,我可以用一个想法来解决这个问题。 这是一种类似河内塔楼的方式吗 这只需要一个恒定的存储空间吗 这不是家庭作业,我只是需要一些关于如何进行的建议。我的第一个想法是,倒转
问题内容: 在JavaScript中实现堆栈和队列的最佳方法是什么? 我正在寻找shunting-yard算法,并且我将需要这些数据结构。 问题答案: var stack = []; stack.push(2); // stack is now [2] stack.push(5); // stack is now [2, 5] var i = stack.pop(); // stack is no