-3
Ich schreibe einen Priority-Queue-Code mit Arrays. Ich möchte eine Methode erstellen, die die Größe der Warteschlange ändert und die Größe der Warteschlange erweitert, wenn die Warteschlange über die 75% gefüllt ist. Kann jemand helfen?Queue Resize-Methode
hier ist meine Methode:
public void insert(T object) {
if (object == null) throw new IllegalArgumentException();
if (size == heap.length - 1) throw new IllegalStateException();
heap[++size] = object;
swim(size);
}
Sollte es T nicht '[] NeuHalde = new T [newSize];'? – Berger
Das 'newHeap' -Array sollte vom Typ T sein. Es sollte' T [] newHeap = (T []) new Object [newSize]; 'sein. Der Compiler wird sich beschweren, dass ein unkontrollierter Cast vorliegt. Sie können sagen, dass es aufhört, sich mit '@SuppressWarnings (" unchecked ") zu beschweren' '. Dies ist vernünftig, weil Sie wissen, dass es Elemente des Typs T enthält. – Imposter
Wenn T ein generischer Typ ist, wird es nicht funktionieren –