Возникают некоторые проблемы при попытке положить sh в стек; всякий раз, когда я отправляю sh одну из этих очередей в стек, кажется, что она переопределяет предыдущую очередь, которую я только что поместил в стек. Хотя верхнее число обновляется?
Например, если я go распечатает его, он выведет самую последнюю очередь, которую я нажал, а затем из-за ошибок при попытке печати, потому что в нижних значениях массива ничего не хранится. .
Вот код, который я использую для pu sh очередей
Stack countryStack = new Stack(200);
while(!firstPriority.isEmpty()){
countryStack.push(firstPriority.remove());
}
while(!secondPriority.isEmpty()){
countryStack.push(secondPriority.remove());
}
Вот код, который я использую для построения стека и pu sh в стек
private int maxSize;
private Country[] stackArray;
private int top;
public Stack(int s){
maxSize = s;
stackArray = new Country[maxSize];
top =-1;
}
public void push(Country newCountry){
if(isFull()){
System.out.println("The Stack is full");
}else {
stackArray[++top] = newCountry;
}
}