hi,
ich hab hier die Aufgabe:
So sieht mein Ansatz aus. Alles was ich auskommentiert hab ist das was ich hinein gefügt habe.
Hier diesen Teil:
Hab ich aus dem einem Skript. Bei dem eine Verketteteliste implementiert wurde. Ganz verstanden hab ich den auch nicht. Ok. Es dient als Knoten. Dass das letzte Element ermittelt. Was mich bisschen stört ist dass " Node<E> next; " . Das versteh ich nicht ganz.
Hier nochmal der Teil aus meinem Skript um mich besser verstehen zukönnen:
Vielen Dank schon mal******
ich hab hier die Aufgabe:
Implementieren Sie eine eigene Warteschlange als Ableitung von AbstractQueue die eine verkettete Liste als
Datenspeicher nutzt
So sieht mein Ansatz aus. Alles was ich auskommentiert hab ist das was ich hinein gefügt habe.
Code:
import java.util.AbstractQueue;
import java.util.Iterator;
/**
* Instanzen dieser Klasse realisieren Prioritaetswarteschlangen beschraenkter
* Kapazitaet.
*
* @param <E>
* Der Typ der Elemente muss Comparable sein.
*/
public class MyPriorityQueue<E extends Comparable<E>> extends AbstractQueue<E> {
// ToDo Ihre Datenstruktur verkettete Liste
// private int nodeCount = 0;
// private Node<E> first;
// private static class Node<E> { // unser Knoten
// E element;
// Node<E> next;
// Node(E data) {
// this.element = element;
// }
// }
private int capacity; // maximale Groesse
private int size = 0; // aktuelle Groesse
// @SuppressWarnings("unchecked")
// private E[] s = (E[]) new Object[capacity];
/**
* Erzeugt eine Prioritaetswarteschlange.
*
* @param capacity
* die Kapazitaet der Warteschlange.
* @throws IllegalArgumentException
* falls capacity <= 0
*/
public MyPriorityQueue(int capacity) throws IllegalArgumentException {
// if (capacity <= 0) {
// throw new IllegalArgumentException();
// }
// this.capacity = capacity;
// // Initialisierung Ihrer Datenstruktur
// @SuppressWarnings("unchecked")
// E[] s = (E[]) new Object[this.capacity];
}
/*
* (non..Javadoc)
*
* Inserts the specified element into this queue if it is possible to do so
* immediately without violating capacity restrictions.
*/
@Override
public boolean offer(E e) {
// Auto..generated method stub
// if (capacity >= size) {
// s[this.size] = e;
// size++;
// return true;
// } else {
// return false;
}
}
Hier diesen Teil:
Code:
// private static class Node<E> { // unser Knoten
// E element;
// Node<E> next;
// Node(E data) {
// this.element = element;
// }
// }
Hab ich aus dem einem Skript. Bei dem eine Verketteteliste implementiert wurde. Ganz verstanden hab ich den auch nicht. Ok. Es dient als Knoten. Dass das letzte Element ermittelt. Was mich bisschen stört ist dass " Node<E> next; " . Das versteh ich nicht ganz.
Hier nochmal der Teil aus meinem Skript um mich besser verstehen zukönnen:
Code:
public class MyLinkedList<E> {
private static class Node<E> {
E data;
Node<E> next;
Node(E data) {
this.data = data;
}
}
private int nodeCount = 0;
private Node<E> first;
public int size() {
return nodeCount;
}
}
Vielen Dank schon mal******