Question: //I need help with implementing my Priority Queue, I can't pass any my the tests. import java.util.ArrayList; public class PQ { private ArrayList PQArray; int

//I need help with implementing my Priority Queue, I can't pass any my the tests.

import java.util.ArrayList;

public class PQ {

private ArrayList> PQArray;

int front, rear;

private static class PQEntry {

private int priority;

private T item;

public PQEntry(T x, int n) {

priority = n;

item = x;

}

public int getPriority() {

return priority;

}

public void setPriority(int priority) {

this.priority = priority;

}

public T getItem() {

return item;

}

public void setItem(T item) {

this.item = item;

}

@Override

public String toString() {

return "(" + priority + ", " + item.toString() + ")";

}

}

public PQ() {

PQArray = new ArrayList>();

front=0; rear =0;

}

public boolean isEmpty() {

return size() == 0;

}

public int size() {

return PQArray.size();

}

public void enqueue(T item, int priority) {

PQEntry entry = new PQEntry(item, priority);

PQArray.set(rear,entry);

rear++;

insertionSort(PQArray);

}

private void insertionSort(ArrayList> list) {

int i, j;

for (i = 1; i < list.size(); i++) {

PQEntry tmp = list.get(i);

j = i;

while ((j > 0) && (list.get(j - 1).priority > tmp.priority)) {

list.set(j, list.get(j - 1));

j--;

}

list.set(j, tmp);

}

}

public T dequeue() {

T value = PQArray.get(front).getItem();

PQArray.remove(front);

front++;

return value;

}

@Override

public String toString() {

return PQArray.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!