How would this code be altered so that it displays random numbers in the queue?
ID: 3873949 • Letter: H
Question
How would this code be altered so that it displays random numbers in the queue?
class PriorityQ
{
private int maxSize;
private long[] queArray;
private int nItems;
public PriorityQ(int s)
{
maxSize = s;
queArray = new long[maxSize];
nItems = 0;
}
public void insert(long item)
{
int j;
if(nItems==0)
queArray[nItems++] = item;
else
{
for(j=nItems-1; j>=0; j--)
{
if( item > queArray[j] )
queArray[j+1] = queArray[j];
else
break;
}
queArray[j+1] = item;
nItems++;
}
}
public long remove()
{ return queArray[--nItems]; }
public long peekMin()
{ return queArray[nItems-1]; }
public boolean isEmpty()
{ return (nItems==0); }
public boolean isFull()
{ return (nItems == maxSize); }
}
class PriorityQApp
{
public static void main(String[] args)
{
PriorityQ thePQ = new PriorityQ(5);
thePQ.insert(30);
thePQ.insert(50);
thePQ.insert(10);
thePQ.insert(40);
thePQ.insert(20);
while( !thePQ.isEmpty() )
{
long item = thePQ.remove();
System.out.print(item + " ");
}
System.out.println("");
}
}
Explanation / Answer
import java.util.Random;
class PriorityQ
{
private int maxSize;
private long[] queArray;
private int nItems;
public PriorityQ(int s)
{
maxSize = s;
queArray = new long[maxSize];
nItems = 0;
}
public void insert(long item)
{
int j;
if(nItems==0)
queArray[nItems++] = item;
else
{
for(j=nItems-1; j>=0; j--)
{
if( item > queArray[j] )
queArray[j+1] = queArray[j];
else
break;
}
queArray[j+1] = item;
nItems++;
}
}
public long remove()
{ return queArray[--nItems]; }
public long peekMin()
{ return queArray[nItems-1]; }
public boolean isEmpty()
{ return (nItems==0); }
public boolean isFull()
{ return (nItems == maxSize); }
}
public class PriorityQApp
{
public static void main(String[] args)
{
Random rand = new Random();
int i =0;
PriorityQ thePQ = new PriorityQ(5);
for(i=0;i<5;i++)
thePQ.insert(rand.nextInt(100));
while( !thePQ.isEmpty() )
{
long item = thePQ.remove();
System.out.print(item + " ");
}
System.out.println("");
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.