1 (2 pts) Implement MyArrayStack class by extending ArrayList. import java.util.
ID: 3887454 • Letter: 1
Question
1 (2 pts) Implement MyArrayStack class by extending ArrayList.
import java.util.ArrayList;
import net.datastructures.*;
public class MyArrayStack<E> extends ArrayList<E> implements Stack<E> {
@Override
public void push(E e) {
// TODO Auto-generated method stub
}
@Override
public E top() {
// TODO Auto-generated method stub
return null;
}
@Override
public E pop() {
// TODO Auto-generated method stub
return null;
}
@Override
public int size() {
// TODO Auto-generated method stub
return super.size();
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return super.isEmpty();
}
}
2. (2) Implement MyLinkedListQueue by extending LinkedList.
import java.util.LinkedList;
import net.datastructures.*;
public class MyLinkedListQueue<E> extends LinkedList<E> implements Queue<E>{
@Override
public void enqueue(E e) {
// TODO Auto-generated method stub
}
@Override
public E first() {
// TODO Auto-generated method stub
return null;
}
@Override
public E dequeue() {
// TODO Auto-generated method stub
return null;
}
@Override
public int size() {
// TODO Auto-generated method stub
return super.size();
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return super.isEmpty();
}
}
Explanation / Answer
1. The MyArrayStack class can be implemented by extending ArrayList by the code given below.
public class MyArrayStack<E> extends ArrayList<E> implements Stack<E> {
public MyArrayStack() {
super();
}
Public MyArrayStack(int initialsize) {
Super(initialsize);
@Override
public void push(E e) {
add(e);
Return e;
}
@Override
public E top() {
int n = size();
if (n<=0){
return null;
else {
return get(n-1);
}
}
@Override
public E pop() {
int n= size();
if ( n<=0){
return null;
} else return remove(n-1);
}
}
@Override
public int size() {
return super.size();
}
@Override
public boolean isEmpty() {
return super.isEmpty();
}
}
2. The MyLinkedListQueue can be implemented by extending LinkedList by the code given below :
import java.util.LinkedList;
import net.datastructures.*;
public class MyLinkedListQueue<E> extends LinkedList<E> implements
Queue<E>{
@Override
public void enqueue(E e) {
Node<E> node = new Node<E> (e);
if (isEmpty())
front = node;
else
rear.setNext (node);
rear = node;
count++;
}
if(isEmpty())
throw new QueueEmptyException(“Queue”);
return front.getElement();
if(isEmpty())
throw new QueueEmptyException(“Queue”);
E result = front.getElement();
front = front.getNext();
count--;
if (isEmpty())
rear=null;
return result;
}
@Override
public int size() {
return count();
}
@Override
public boolean isEmpty() {
return (front==rear);
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.