Zum Inhalt springen

peov

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

Reputationsaktivitäten

  1. Like
    peov hat eine Reaktion von Whiz-zarD erhalten in Array auf Leerstellen prüfen   
    Moin!
    Ein Array ist eine Datenstruktur mit fester Größe. Das Hinzufügen und (vollständige) Entfernen (=nicht Überschreiben) von Objekten ist "teuer", da ein neues Array erzeugt werden muss. Insofern ist dein Vorgehen mit dem Erstellen eines neuen Artikel[] schon korrekt.
    Eine Möglichkeit, die du umsetzen könntest, wäre wie folgt:
    Erzeuge ein neues, leeres Artikel[] Iteriere per for-Schleife (Zählerschleife - den Zähler brauchst du als Index, dann kannst du dir auch temp sparen) über dein existierendes Array Wenn das aktuelle Objekt dem zu löschenden Artikel entspricht, dann ignoriere es (continue;) (vielleicht hat die Artikel-Klasse ja eine gute equals()-Implementierung? Vorschlag: equals() implementieren mit Artikelnummer als Vergleichsfaktor. Wenn du dabei Unterstützung brauchst, sag Bescheid) Wenn nicht, dann füge das aktuelle Objekt dem neuen Artikel[] hinzu Gib nach Durchlaufen der Schleife das Neue, nun mit allen außer dem zu löschenden Artikel gefüllte Artikel[], zurück. Wenn die Aufgabenstellung nun darauf ausgelegt ist, Leerstellen im Array zu finden (Sprich: Die eigentliche Löschfunktionalität ist schon vorgegeben und [ A1; A2; 0 ;A4;A5]  ist der Input für die Methode, die du schreiben sollst), kannst du genauso vorgehen, bis darauf, dass du überprüfst, ob das Objekt, an dem du in deiner Schleife gerade bist, 0 ist (oder 0 als Artikelnummer hat oder was auch immer).
    2 Schleifen sind meiner Meinung nach hier vollkommen überflüssig.
    Ich hab eine kleine Bonusaufgabe für dich: Welche Datenstruktur wäre für die Abbildung von diesem Fall besser geeignet als ein Array? :)
    Viele Grüße
    peov
  2. Like
    peov hat eine Reaktion von xFiSiRaZx erhalten in Array auf Leerstellen prüfen   
    Moin!
    Ein Array ist eine Datenstruktur mit fester Größe. Das Hinzufügen und (vollständige) Entfernen (=nicht Überschreiben) von Objekten ist "teuer", da ein neues Array erzeugt werden muss. Insofern ist dein Vorgehen mit dem Erstellen eines neuen Artikel[] schon korrekt.
    Eine Möglichkeit, die du umsetzen könntest, wäre wie folgt:
    Erzeuge ein neues, leeres Artikel[] Iteriere per for-Schleife (Zählerschleife - den Zähler brauchst du als Index, dann kannst du dir auch temp sparen) über dein existierendes Array Wenn das aktuelle Objekt dem zu löschenden Artikel entspricht, dann ignoriere es (continue;) (vielleicht hat die Artikel-Klasse ja eine gute equals()-Implementierung? Vorschlag: equals() implementieren mit Artikelnummer als Vergleichsfaktor. Wenn du dabei Unterstützung brauchst, sag Bescheid) Wenn nicht, dann füge das aktuelle Objekt dem neuen Artikel[] hinzu Gib nach Durchlaufen der Schleife das Neue, nun mit allen außer dem zu löschenden Artikel gefüllte Artikel[], zurück. Wenn die Aufgabenstellung nun darauf ausgelegt ist, Leerstellen im Array zu finden (Sprich: Die eigentliche Löschfunktionalität ist schon vorgegeben und [ A1; A2; 0 ;A4;A5]  ist der Input für die Methode, die du schreiben sollst), kannst du genauso vorgehen, bis darauf, dass du überprüfst, ob das Objekt, an dem du in deiner Schleife gerade bist, 0 ist (oder 0 als Artikelnummer hat oder was auch immer).
    2 Schleifen sind meiner Meinung nach hier vollkommen überflüssig.
    Ich hab eine kleine Bonusaufgabe für dich: Welche Datenstruktur wäre für die Abbildung von diesem Fall besser geeignet als ein Array? :)
    Viele Grüße
    peov

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...