PriorityQueue?

Status
Nicht offen für weitere Antworten.

shino

Mitglied
Hi zusammen,
Ich hab ein (wahrscheinlich ziemlich einfaches) problem...
ich habe die aufgabe, ein programm zu schreiben, bzw. die klasse priorityqueue zu implementieren, um ein array (q) nach prioritäten geordnet zu behandeln und neue elemente nach ihrer priorität einzufügen. aber ich habe keine ahnung, wie ich das problem angehen soll...
Java:
class Element {
  int data;
  int priority;
  Element(int data, int priority) {/*...*/}
  public String toString {/*...*/}
}
class PriorityQueue {
  static final int size = 32;
  Element[] q = new Element[size];
  int len = 0;
  void put(Element x) {/*...*/}
  Element get() {/*...*/}
  int length() {/*...*/}
  public String toString() {/*...*/}
}

das ist alles, was ich bisher habe... ich sitz grad hier vor meinem laptop und sehe wirklich keinen punkt, an dem ich starten könnte, bzw. weiss ich nicht wirklich, was ich mit dem bisher gegebenen machen soll.
kann mir jemand bitte den einstieg ein wenig erleichtern bzw. mir ein paar tipps geben, womit ich vielleicht anfangen sollte, so dass ich mal einen anhaltspunkt habe?
 

vinculum

Mitglied
Die Frage die sich stellt ist, was macht eine Priority Queue?
Sie sortiert die Elemente nach der Priorität, ergo musst du folgendes in deinem Quellcode ergänzen:

Java:
class Element {
  int data;
  int priority;
  Element(int data, int priority) {/*...*/}
  public String toString {/*...*/}
}
class PriorityQueue {
  static final int size = 32;
  Element[] q = new Element[size];
  int len = 0;
  void put(Element x) {/*Hier fügst du ein Element sortiert, nach Priorität in deine Warteschlange ein und zählst len 1 hoch.*/}
  Element get() {/*hier gibst du das Element mit der höchsten Priorität zurück und dekrementierst len um 1. */}
  int length() {/*...*/}
  public String toString() {/*...*/}
}

Der Rest sollte trivial sein, im Zweifelsfall würde ich bei der Wikipedia nachschauen: Priority queue - Wikipedia, the free encyclopedia
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben