Я создаю метод в вызове вызова стека в этом методе. Я хочу добавить элемент после того, как элемент является конкретной формой, например, если число в стеке равно «1 2 3 5», и я выбираю номер 3 и введите номер 4 стек должен быть «1 2 3 4 5» это мой пытаетсяДобавление элемента в стек
int a[] = new int[6];
int Top = -1;
public void push() {
if (Top > 6) {
System.out.println(" the Stack Ovelflow");
} else {
Top = Top + 1;
String m = JOptionPane.showInputDialog("enter the element stack");
a[Top] = Integer.parseInt(m);
}
}
public void adding() {
String s = JOptionPane.showInputDialog("enter the element u want to add after it");
int x = Integer.parseInt(s);
String s2 = JOptionPane.showInputDialog("enter the element u want to add to stack");
int d = Integer.parseInt(s2);
for (int i = 0; i < a.length; i++) {
if (a[i] == x) {
a[i + 1] = d;
}
}
}
Это может быть только я, но я не уверен, что писать код с использованием неправильных структур данных для работы делает хороший дидактический пример. В Java всегда было много коллекций, которые могли бы работать лучше, чем исходные массивы для этой проблемы. –
@MattCoubrough: true, массивы - это наименее практичная структура данных здесь, а вставки элементов где-то посередине больше не имеют отношения к стекам. И то, что я написал, не имеет образовательной ценности, наверняка. Я просто пытался дать «простой» пример того, как обрабатывать массивы в этом случае. Теперь это до OP, чтобы оптимизировать программу и переключиться на Списки или что когда-либо лучше подходит для такого рода проблем. Но по-прежнему полезно начинать с массивов, прежде чем переходить к спискам, не понимая, что происходит в фоновом режиме. – GameDroids
Возможно, вы могли бы улучшить ответ, чтобы показать, как это сделать правильно или почему массивы не подходят для работы? –