Question: package ds; public class Stack { public int size; public int top; public int[] array; public Stack () { size = 0; top = -1;

package ds; public class Stack { public int size; public int top;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 () {

}

/*

* Implement the Push(S, x) function

*/

public void push (int x) {

}

/*

* Implement the Pop(S) function

* Return -1 if the stack is empty

*/

public int pop () {

}

/*

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

*/

public String toString () {

String str;

str = size + ", [";

for (int i = 0; i

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

str += "]";

return str;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Stack s;

s = new Stack(10);

for (int i = 0; i

s.push(i);

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

for (int i = 0; i

s.pop();

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

}

}

package ds;

public class Queue {

public int size;

public int[] array;

public int head;

public int tail;

public Queue () {

size = 0;

array = null;

head = -1;

tail = 0;

}

public Queue (int _size) {

size = _size;

array = new int[size];

head = -1;

tail = 0;

}

/*

* Implement the ENQUEUE(Q, x) function

*/

public void enqueue (int x) {

}

/*

* Implement the DEQUEUE(Q) function

*/

public int dequeue () {

}

/*

* Convert queue to string in the format of #size, head, tail,

[#elements]

*/

public String toString () {

String str;

str = size + ", " + head + ", " + tail + ", [";

for (int i = head; i%size

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

str += "]";

return str;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Queue q;

q = new Queue(10);

for (int i = 0; i

q.enqueue(i);

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

for (int i = 0; i

q.dequeue();

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

}

}

package ds;

public class LinkedList {

public ListNode head;

public LinkedList () {

head = null;

}

/*

* Implement the LIST-SEARCH(L, k) function

*/

public ListNode search (int k) {

}

/*

* Implement the LIST-INSERT(L, x) function

* Note that x is a integer value, not a ListNode

*/

public void insert (int x) {

}

/*

* Implement the LIST-DELETE(L, x) function

*/

public void delete (ListNode x) {

}

/*

* Convert a LinkedList to a string in the format of [#elements]

*/

public String toString () {

String str;

ListNode n;

str = "[";

n = this.head;

while (n != null) {

str += n.key + ",";

n = n.next;

}

str += "]";

return str;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

LinkedList l;

l = new LinkedList();

for (int i = 0; i

l.insert(i);

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

for (int i = 0; i

l.delete(l.head.next);

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

}

}

package ds;

public class ListNode {

public int key;

public ListNode prev;

public ListNode next;

public ListNode () {

prev = next = null;

}

public ListNode (int _key) {

key = _key;

prev = next = null;

}

}

. Task 1 (30 pts). Implement the empty), push(int z), and pop) function . Task 2 (30 pts). Implement the enqueue(int x), dequeue() function for . Task 3 (40 pts). Implement the search(int k), insert(int z), delete() func- Task 4 (10 pts Extra Credit). In the push(int x) function of Stack.java, by for Stack in Stack.java as discussed in Lecture 5 Queue in Queue.java as discussed in Lecture 5. tion in LinkedList.java as discussed in Lecture 6. default, we never check if the stack is already fi 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 messagee if the stack is already full. If we insert an element Task 5 (10 pts Extra Credit). In the enqueue(int x) function of Queue.java, we do not check if the queue is already full. Implement the capacity check feature for enqueue(int x). (Hint: Use System.err.println() to print the error message.) . Task 6 (10 pts Extra Credit). In the dequeue() function of Queue.java, we do not check if the queue is empty. If we dequeue an empty queue, we should also get an error. Implement the empty check feature for en- queue(int x). (Hint: Use System.err.println() to print the error message.)

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!