Sprachen wie Python, Ruby und Java kann die Programmierung zu erleichtern . Aber wenn es Zeit für rohe Kraft und Geschwindigkeit geht, gibt es keine moderne Sprache wie die alte Standby : C. Allerdings kommt diese Macht zu einem Preis . Selbst einfache Operationen wie das Entfernen von Objekten aus einem Array , kann eine etwas schwindelerregende Unternehmen für einen Programmierer verwendet, um das dynamische Array Größenänderung in vielen modernen Sprachen sein . Hier erstellen Sie eine Funktion, die verwendet werden, um ein Element aus einem Integer-Array entfernen können. .
Nichtig removeElement (int * arr, int Element , int * size : Anleitung
1
Öffnen Sie einen Texteditor
2
die folgende Funktion Einfügen ) {
int counter = 0;
for (int x = 0; x < * Größe ; ! x + +) {
if ( x = Element ) {
arr [ counter] = arr [ x] ;
Zähler + +; }
}
* size = * Größe - 1 ;
}
Wie Sie sehen können , nimmt dieser einen Zeiger auf ein Array , das Element klickt, um entfernt werden , und die Größe des Arrays. Die letzte Variable ist sehr wichtig : C einfach nicht erlauben die Reduzierung der Größe eines deklarierten Array (oder steigende es , für diese Angelegenheit. ) Stattdessen müssen Sie den Überblick über die Größe des Arrays getrennt zu halten, und verwenden Sie den " sizeof "-Funktion nur als eine Referenz für die Array- aktuelle maximale Größe . Die Größe und Anordnung sich sowohl als Zeiger übergeben , so können wir bei deren Adressen erhalten und ändern ihre Werte außerhalb der Funktion
Danach wird die Logik ist einfach: . Daten auf der rechten Seite des entfernten Element ist einfach nach links verschoben .
3
Speichern Sie Ihre Arbeit in " removeElement.cpp . "