Question: In the push(int x) function of Stack.java, by default, we never check if the stack is already full. If we insert an element into a

In the push(int x) function of Stack.java, by default, we never check if the stack is already full. If we insert an element into a full stack, we should get an error. Implement the capacity check feature for push(int x). (Hint: Use System.err.println() to print the error message.)

______________________________________________

package ds;

public class Stack {

public int size;

public int top;

public int[] array;

public Stack() {

size = 0;

top = -1;

array = null;

}

public Stack(int _size) {

size = _size;

top = -1;

array = new int[size];

}

/* * * Implement the Stack-Empty(S) function * */

public boolean empty() { if (top == -1) return true; else return false; }

/* * * Implement the Push(S, x) function * */

public void push(int x) {

if (top != array.length - 1) { top = top + 1;

array[top] = x; } else { System.out.printf("Could not insert data, Stack is full, top is %d. ", top); }

}

/* * * Implement the Pop(S) function * * Return -1 if the stack is empty * */

public int pop() {

int data = -1;

if (!empty()) { data = array[top]; top = top - 1; return data; } else { System.out.println(" Stack is empty. "); } return data;

}

/* * * Convert stack to string in the format of #size, [#elements] * */

public String toString() {

String str;

str = size + ", [";

for (int i = 0; i <= top; i++)

str += array[i] + ", ";

str += "]";

return str;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Stack s;

s = new Stack(10);

for (int i = 0; i < 5; i++)

s.push(i);

System.out.println(s.toString());

for (int i = 0; i < 2; i++)

s.pop();

System.out.println(s.toString());

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!