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;
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
Get step-by-step solutions from verified subject matter experts
