Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Löschen eines Wertes in einem Array

Empfohlene Antworten

Veröffentlicht

Hallo allerseits,

ich bin noch Programmieranfängerin und hab ein (vermutlich) einfaches Problem.

Ich möchste aus einem Array z.B. array[3]={1,2,3} den wert 2 löschen.

Also array[1]=1; array[2]= "hier soll leer sein", array[3]=3.

Hab gegoogelt und bin darauf gestoßen das man array[2]=NULL schreiben kann,

aber löscht das einen Eintrag wirklich oder wird der dann nur durch 0 ersetzt?

Schonmal danke im vorraus.

Grüße,

Julia

Erstmal beginnt die Nummerierung von Array-Elementen mit der 0. Folglich hat der 2. Eintrag den Index 1.

Einem Array-Eintrag die NULL-Pointer-Konstante zuzuweisen, sofern der Typ der Array-Elemente dies überhaupt zulässt, bringt Dich nicht weiter. Dadurch verschwindet kein Eintrag, sondern nur der Inhalt wird verändert.

Wenn häufig Elemente einer Liste mittendrin gelöscht oder hinzugefügt werden sollen, sind Arrays ohnehin keine optimale Wahl.

Danke für die Antwort.

Gibt es nun aber "leere" felder in einem array, kann man einen wert wirklich löschen?

Und was wäre die Alternative zu arrays?

Gibt es nun aber "leere" felder in einem array, kann man einen wert wirklich löschen?
Nicht im allgemeinen Fall. Falls du in deinem Array Zeiger hast, kannst du Nullzeiger verwenden, um leere Felder zu kennzeichnen. Ansonsten haben Variablen in C und C++ immer einen Wert, es sei denn, du selbst interpretierst einen bestimmten Wert als "leer". Dann darf dieser Wert aber nicht als gültiger, nicht-leerer Wert auftauchen.

Wenn dein Array dynamisch angelegt ist (malloc oder new), kannst du Elemente entfernen, indem du die verbliebenen Werte in ein neues Array mit verringerter Größe umkopierst.

Und was wäre die Alternative zu arrays?
Falls du C++ benutzt, bietet die Standardbibliothek mehrere Containerklassen, die alle die Operation des Entfernens einzelner Elemente unterstützen. Die Unterschiede zwischen den Containern liegen in den Zeitkomplexitäten der einzelnen Operationen. Wenn du beispielweise häufig einzelne Elemente irgendwo in der Mitte einfügen oder entfernen musst, würde sich std::list anbieten. Zugriff über Indexoperator geht allerdings bei std::list nicht.

Wenn du C benutzt, kannst du solche Datenstrukturen natürlich auch benutzen, du müsstest sie nur selbst implementieren.

danke für die antwort, hilft mir weiter :-)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.