package SimpleArrayStackofchars;
public class SimpleArrayStackofchars implements Stack
{
protected int capacity; // The actual capacity of the stack array
public static final int CAPACITY = 2; // default array capacity
protected Object S[]; // Generic array used to implement the stack
protected int top = -1; // index for the top of the stack (-1 = empty stack)
public SimpleArrayStackofchars()
{
this(CAPACITY); // default capacity
}
public SimpleArrayStackofchars(int cap)
{
capacity = cap;
S = new Object[capacity];
}
public int size()
{
return (top + 1);
}
public boolean isEmpty()
{
return (top == -1);
}
public void push(Object element) throws FullStackException
{
if(size() == capacity)
{
//throw new FullStackException
("Stack is full. Stack size max is "+ capacity);
/*can replace previous line with code to double stack size
*/
doubleArray();
}
S[++top] = element;
}
public Object top() throws EmptyStackException
{
if (isEmpty())
throw new EmptyStackException("Stack is empty.");
return S[top];
}
public Object pop() throws EmptyStackException
{
Object element;
if (isEmpty())
throw new EmptyStackException("Stack is empty.");
element = S[top];
S[top--] = null; // dereference S[top] for garbage collection.
return element;
}
private void doubleArray()
{
Object [ ] newArray;
System.out.println("Stack is full (max size was "+capacity+"). Increasing to "+(2*capacity));
//double variable capacity
capacity = 2*capacity;
newArray = new Object[ capacity ];
for(int i = 0; i < S.length; i++)
newArray[ i ] = S[ i ];
S = newArray;
}
public static void main(String[] args)
{
Stack S = new SimpleArrayStackofchars();
S.push("1");
S.push("2");
S.push("3");
S.push("4");
S.push("5");
S.push("6");
while (!S.isEmpty())
{
System.out.println(S.pop());
}
}
}
Таким образом, у меня есть этот код выше, когда я его запускаю, он печатает вынос. Однако у меня есть другой вопрос, ниже которого я не понимаю, как это сделать.Печатные элементы массива в обратном порядке
Это вопрос: перепишите основной метод, чтобы был вызов другого метода, называемого обратнымUsingPop, который примет массив символов и напечатает элементы массива в обратном порядке, используя метод pop.
Отлично, вы дали нам много не относящегося к делу кода, и вы скопировали вопрос из своего задания. С чем именно вы боретесь? –
Я не знаю, как сделать метод reverseUsingPop. Это стало проблемой для меня – user5500578
http://stackoverflow.com/help/how-to-ask –