PriorityQueue

Status
Niet open voor verdere reacties.

savant11

Gebruiker
Lid geworden
7 jan 2008
Berichten
153
HOi allen,

heb dit:

PHP:
package opdr1_pq;
//package java.util;
//import javax.xml.soap.Node;
//import java.util.PriorityQueue<E>
import java.lang.Object;
import java.util.PriorityQueue;

public class Heap extends PriorityQueue
{
    PriorityQueue<Heap> queue = new PriorityQueue<Heap>();
    private int size;   
    private int maxSize;
    private int currentSize;

    private Comparable[] elements;  
    private int lastIndex;          
    

  public Heap ()
  {
   // maxSize = max;
    //currentSize = 0;
    //heapArray = new Node[maxSize];

  }
  public void insert (Object o, int prior)  
  {
       // queue.add(this.add(o));
    size++;

  }

  public Object removeMin (Object o)
  {
      for (int i = 0; i < size; i++) {

            if (o == elements[i]) {
                return true;
            }
        }
        //return false;
      
      return ((Integer) 0);
      

  }

  public Object peekMin ()
  {
      if(size == 0)
          return null;
      return ((Integer) 0);
  }

  public int size ()
  {
      queue.size();
      //size = maxSize;
      return 0;
  }  
}

Maar bij de insert kom ik niet uit.

Heeft iemand een idee?

Alvast enorm bedankt!!
 
Ik zou dergelijk code op lijn 10 afraden.

public class Heap extends PriorityQueue
{
PriorityQueue<Heap> queue = new PriorityQueue<Heap>();


je bent zelf al een priorityQueue en je maakt een collectie het lijkt alsof je niet weet wat je wil.
die lijn tien zal staan waar je main is en je een collectie van het object maakt.



http://www.java2s.com/Code/Java/Threads/Java1550newfeaturesPriorityQueue.htm
public class PriorityQueueTester {

public static void main(String[] args) {

PriorityQueue<Integer> pq =
new PriorityQueue<Integer>(20,
new Comparator<Integer>() {
public int compare(Integer i, Integer j) {
int result = i%2 - j%2;
if (result == 0)
result = i-j;
return result;
}
}
);

// Fill up with data, in an odd order
for (int i=0; i<20; i++) {
pq.offer(20-i);
}

// Print out and check ordering
for (int i=0; i<20; i++) {
System.out.println(pq.poll());
}
}
}

dus bij bovenstaand sample zie je dat het
.offer is
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan