简体   繁体   English

如何用新元素替换完整堆栈的最后一个元素? (爪哇)

[英]How does one replace last element of full stack with new element? (java)

public class ourStack1 {
    private int elements[];
    private int index;      // indicate the next position to put a new data
    private int size;
    
    public ourStack1() {
        elements = new int[10];
        index = 0;
        size = 0;
    }
    
    public void push(int value) {
        if(size == 10) {
            System.out.println("Stack is full, no push");
            return;
        }
        elements[index] = value;
        ++index;
        ++size;
    }
    
    public int pop() {
        if(size == 0) {
            System.out.println("Stack is empty, no pop");
            return -1;
        }
        int temp = elements[index - 1];
        --index;
        --size;
        return temp;
    }
    
    public int peek() {
        if(size == 0) {
            System.out.println("Stack is empty, no peek");
            return -1;
        }
        return elements[index - 1];
    }
    
    /*
    public int mySize() {
        // you know how to do this
    }
    */
    
    public static void main(String[] args) {
        ourStack1 x = new ourStack1();
        for(int i = 0; i < 10; ++i)
            x.push(i);
        for(int i = 0; i < 10; ++i)
            System.out.println(x.pop());
    }
}

I'm confused on how to overwrite the last element added to the full stack.我对如何覆盖添加到完整堆栈的最后一个元素感到困惑。 I want to add element to replace the last element while not exceeding the array size[10]我想添加元素来替换最后一个元素,同时不超过数组大小[10]

public void replaceLast(int value) {
  if (this.size > 0) {
    this.pop();
  }
  this.push(value);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为什么Java.Util.Stack没有弹出循环中的最后一个元素? - Why does the Java.Util.Stack not pop last element in the loop? Java堆栈-修改堆栈中的最后一个元素 - Java Stack - Modify the last element in a stack 在堆栈数据结构上存储新元素时,.next如何工作? 【JAVA] - How does .next work when storing a new element on the stack data structure? [Java] 如何获取Java中最后一个元素之前的所有数组元素 - How To Get All Element of Array before last one in Java 为什么将新元素添加到数组列表中会用新元素替换之前的所有元素? - Why does adding a new element to an array list replace all the previous elements with the new one? 迭代器:过去Java中的最后一个元素 - Iterator: One past the last element in Java Java 通过 pop 方法获取最后一个元素后出现堆栈错误 - Java Stack error after getting last element via pop method 如何在 java 的一个循环中替换一些元素并删除一些元素? - How can I replace some element and remove some element in one loop in java? Java:堆栈(从一个堆栈中删除一个元素,然后通过用户将哪个堆栈输入到另一个堆栈中将其添加到另一个堆栈中 - Java: Stack (Remove one element from one stack and add to another stack by user's input of which stack to which stack 方法不会替换列表中的最后一个元素 - Method will not replace last element in a list
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM