JAVA (I use Eclipse): First, implement the empty(), push(int x), and pop() funct
ID: 3589462 • Letter: J
Question
JAVA (I use Eclipse):
First, implement the empty(), push(int x), and pop() function for Stack in Stack.java. Second, implement the enqueue(int x), dequeue() function for Queue in Queue.java. Finally, implement the search(int k), insert(int x), delete() function in LinkedList.java.
Please do not modify the original code. Only include additional missing code in the provided structure. Please make sure the program works.
-----------------------------------
Below are the prepared codes to fill in:
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 <= top; 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 < 5; i++)
s.push(i);
System.out.println(s.toString());
for (int i = 0; i < 2; 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 < tail; i++)
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 < 5; i++)
q.enqueue(i);
System.out.println(q.toString());
for (int i = 0; i < 2; 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 < 5; i++)
l.insert(i);
System.out.println(l.toString());
for (int i = 0; i < 2; 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;
}
}
Explanation / Answer
Hi, I have implementated all required functions for Stack.
Please repost for Queue and Linked List.
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 () {
return top == -1;
}
/*
* Implement the Push(S, x) function
*/
public void push (int x) {
if(top < size-1){
top++;
array[top] = x;
}
}
/*
* Implement the Pop(S) function
* Return -1 if the stack is empty
*/
public int pop () {
if(empty())
return -1;
int x = array[top];
top--;
return x;
}
/*
* 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;
}
/**
* @param args
*/
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());
}
}
/*
Sample run:
10, [0, 1, 2, 3, 4, ]
10, [0, 1, 2, ]
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.