Generische Warteschlange

Leno

Bekanntes Mitglied
Hallo,

ich habe eine Frage,ich lernen gerade für eine Klausur und soll eine Warteschlange implementieren naiver ansatz.

folgende Beschreibung liegt vor :

WirspeicherndieElementederWarteschlangeineinemFeldfesterGro ̈ße.Ineiner weiteren Variablen (size) merken wir uns, wie viele Feldelemente belegt sind.

Ich wollte mal fragen ob jemand über meine Implementierung rüberschauen kann. Leider habe ich keine Lösung hier mein Code :


Java:
public class Warteschlange <T>{

	// generisches Feld 
	private T[] feld ;
	
	private int size;
	
	public Warteschlange(int maxSize) {
		
		feld = (T[]) new Object [maxSize];	
		this.size = 0;	
	}
	
	// hinzufügen von neum Element in Warteschlange 
	public void enqueue( T element) {
		
		feld[this.size] = element;
		
		this.size++;
		
	}
	
	public T front() {
		
		return feld[0];
	
	}
	
	// entferne erstes Element aus meiner Warteschlange  
	public T dequeue(){
		
		// Verschieben der Elemente 
		for(int i=1 ; i <size ; i++) { 
		 
			feld[i-1] = feld[i];
		
		}
		
		size--;  // setze den Speicher wieder zurück 
		
		return feld[0];
		
		
		
	}
	
	
	
	public int getSize(){
		
		return this.size;
		
	}
	
	
	
	
	
	
}


Danke im Voraus
 

faetzminator

Gesperrter Benutzer
Sieht eigentlich gut aus. Du kannst aber - wenn du willst - folgendes auch einfacher schreiben:
Java:
a[i] = x;
i++;
// -->
a[i++] = x;
Und beim Löschen eines Entries kannst du, statt dass du eine for-Schleife verwendest, auch [c]System.arraycopy()[/c] verwenden.
 

Kr0e

Gesperrter Benutzer
"dequeue" ist meiner Ansicht nach fehlerhaft. Es wird das erste Element zurück gegeben, nachdem die übrigen Elemente kopiert wurden, oder ? Vlt soll das ja auch so sein, aber der Sinn einer Queue ist ja dass man das Element das man entfernt hat dann auch benutzt....

Ansich sieht der Ansatz aber ok aus.
 

Leno

Bekanntes Mitglied
Komisch ich sehe den Fehler bei dequeue nicht. Ich dachte man ennimmmt das erste Element aus dem Speicher FIFO prinzip und verschiebt die anderen dann
 

Kr0e

Gesperrter Benutzer
Ja exakt!

Aber dein Code:

Java:
    // entferne erstes Element aus meiner Warteschlange  
    public T dequeue(){
        
        // Verschieben der Elemente 
        for(int i=1 ; i <size ; i++) { 
         
            feld[i-1] = feld[i];
        
        }
        
        size--;  // setze den Speicher wieder zurück 
        
        return feld[0];
        
        
        
    }

Gibt das erste Element nach dem Kopiern zurück...
 

faetzminator

Gesperrter Benutzer
Ah ja, gar nicht gesehen... Du musst das erste Element in einer lokalen Variable speichern, dann [c]System.arraycopy()[/c] verwenden, size-- und noch das Element zurückgeben.
 

Kr0e

Gesperrter Benutzer
Aber du kopierst doch VORHER alle Elemente einen Index nach vorne. Sprich das ALTE ERSTE Element geht dabei verloren und du gibts quasi das ehemals 2te Objekt zurück.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Generische Funktion Java Basics - Anfänger-Themen 3
B Generische Typen für dynamisches Formular Java Basics - Anfänger-Themen 3
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
D Generische Klasse Java Basics - Anfänger-Themen 6
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
M Datentypen Generische Datentypen - Syntax Java Basics - Anfänger-Themen 25
O Generische Typen Java Basics - Anfänger-Themen 9
M Generische Klassen "FlaschenRegal" Java Basics - Anfänger-Themen 13
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
J Sortierte generische Liste Java Basics - Anfänger-Themen 1
D statische generische Methoden Java Basics - Anfänger-Themen 3
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
M Methoden Generische Klasse - ändern einzelner Attributwerte Java Basics - Anfänger-Themen 2
S generische methode mit verschiedenen datentypen Java Basics - Anfänger-Themen 3
N Generische Schnittstellen Java Basics - Anfänger-Themen 2
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
D Generische Typen Java Basics - Anfänger-Themen 20
S Erste Schritte Generische Klassen sind toll ....aber warum sollte ich das je benutzen? Java Basics - Anfänger-Themen 3
L Generische Liste Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
A Probleme mit MergeSort Generische Liste Java Basics - Anfänger-Themen 0
A Generische Methode Java Basics - Anfänger-Themen 4
H Collections List in List<SpecificType> als stat. generische Methode zurückgeben Java Basics - Anfänger-Themen 4
J Probleme mit static generische Klasse Java Basics - Anfänger-Themen 6
M Generische Liste Java Basics - Anfänger-Themen 4
B Generische Methode Java Basics - Anfänger-Themen 2
B Generische Klasse Java Basics - Anfänger-Themen 7
B Generische Methoden Java Basics - Anfänger-Themen 8
F Collections Generische Klasse/Methoden Java Basics - Anfänger-Themen 19
A Generische Datentypen Java Basics - Anfänger-Themen 8
bluerob generische ArrayList -> erbende Objekte auslesen Java Basics - Anfänger-Themen 24
L Generische Containerklasse Java Basics - Anfänger-Themen 9
V Methoden Umwandlung in generische Methode Java Basics - Anfänger-Themen 8
A Generische Collections und Vererbung Java Basics - Anfänger-Themen 2
S Generische HashMap Java Basics - Anfänger-Themen 2
M Klassen Generische Klassen, Personen und Gruppen Java Basics - Anfänger-Themen 6
L Generische ArrayList, CastProblem Java Basics - Anfänger-Themen 2
W generische Module Java Basics - Anfänger-Themen 2
S Generics und "generische Feldzuweisungen" Java Basics - Anfänger-Themen 5
C unterschied generische typen und supertypen als methodenparameter Java Basics - Anfänger-Themen 3
D Datentypen Generische Collections und Warnings Java Basics - Anfänger-Themen 8
F Generische Methoden Problem Java Basics - Anfänger-Themen 5
E Generische Arrays durch Typecast mit Object-Array Java Basics - Anfänger-Themen 11
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
B Was passiert, wenn eine konkrete Klasse von generische Klasse erbt? Java Basics - Anfänger-Themen 14
B Generische Vererbung was ist der Unterschied? Java Basics - Anfänger-Themen 4
W Generische Klassen Java Basics - Anfänger-Themen 3
W Generische Klassen und Casting Java Basics - Anfänger-Themen 6
F Generische Typen auch für statische Methoden? Java Basics - Anfänger-Themen 13
J array über generische arraylist Java Basics - Anfänger-Themen 7
B instanceof Prüfung für generische Typen Java Basics - Anfänger-Themen 5
N 2 dimensionale generische Arrays Java Basics - Anfänger-Themen 9
H Statische generische Methode Java Basics - Anfänger-Themen 2
G Frage zum Ungang mit Generische Datentypen Java Basics - Anfänger-Themen 4
0x7F800000 generische arrays mal wieder )-; Java Basics - Anfänger-Themen 6
D generische methode <T> void . Java Basics - Anfänger-Themen 9
J Generische Methoden Java Basics - Anfänger-Themen 6
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
S Parameterübergabe: Generische Klasse Java Basics - Anfänger-Themen 4
S generische Felder Java Basics - Anfänger-Themen 2
P Generische Klasse Java Basics - Anfänger-Themen 8
C Generische Klassen, das erste Mal. Java Basics - Anfänger-Themen 8
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
F Generische Liste von generischen Objekten. Java Basics - Anfänger-Themen 3
H generische Methoden Java Basics - Anfänger-Themen 5
N generische HashMap und Iterator Java Basics - Anfänger-Themen 2
H generische Bausteine, heterogene Datenstrukturen Java Basics - Anfänger-Themen 2
J generische klassen neue Instanz Java Basics - Anfänger-Themen 5
H Generische Klassen. Java Basics - Anfänger-Themen 16
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
J Queue Warteschlange Java Basics - Anfänger-Themen 3
L Klassen Objekt aus einer Warteschlange in eine andere übergeben, geht nicht? Java Basics - Anfänger-Themen 6
K Tiefen- und Breitensuche beim Baum durch Stack und Warteschlange Java Basics - Anfänger-Themen 1
A Klassen Unterschied Warteschlange, Stapel und Liste Java Basics - Anfänger-Themen 3
G Warteschlange/Reihungen kurze syntaktische Frage Java Basics - Anfänger-Themen 2
Luk10 Stapel / Warteschlange Java Basics - Anfänger-Themen 4
T Warteschlange warten lassen bis Ereignis Java Basics - Anfänger-Themen 27
Y Warteschlange (FIFO) Java Basics - Anfänger-Themen 5
S warteschlange Java Basics - Anfänger-Themen 5
H Vector-Warteschlange(in Anfrage Auftgrag aufrufen?) Java Basics - Anfänger-Themen 10
N Warteschlange Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben