Heim > Backend-Entwicklung > C++ > Hauptteil

C++-Programm zum Löschen von Elementen aus einem Array, ohne Bibliotheksfunktionen zu verwenden

WBOY
Freigeben: 2023-09-09 10:45:02
nach vorne
1083 Leute haben es durchsucht

C++-Programm zum Löschen von Elementen aus einem Array, ohne Bibliotheksfunktionen zu verwenden

Der Zweck eines Arrays besteht darin, über Basisadresse und Index Zugriff auf denselben Datentyp an mehreren Speicherorten zu ermöglichen. In verschiedenen Anwendungen werden Arrays aus verschiedenen Gründen zum Speichern von Daten verwendet. Arrays müssen das Hinzufügen, Löschen und Aktualisieren von Elementen genauso effizient bewältigen wie andere Datenstrukturen. Sowohl statische als auch dynamische Arrays enthalten viele Bibliotheksfunktionen, die verschiedene Array-bezogene Vorgänge in C++ verarbeiten. In diesem Artikel erfahren Sie jedoch, wie Sie Elemente aus einem Array entfernen, ohne eine Bibliotheksfunktion zu verwenden.

Konzepte verstehen und anhand von Beispielen veranschaulichen

Given array A = [89, 12, 32, 74, 14, 69, 45, 12, 99, 85, 63, 32]
After deleting an element from index 5, the array will be like this:

A = [89, 12, 32, 74, 14, 45, 12, 99, 85, 63, 32]
Nach dem Login kopieren

Löschen Sie ein Element an einer beliebigen Position. Es gibt drei mögliche Situationen. Von Anfang an löschen, vom Ende löschen, von der Mitte eines Indexes löschen. Das Entfernen vom Ende erfordert kein Verschieben. Die restlichen beiden erfordern jedoch das Verschieben von Elementen nach links. Entfernen Sie zunächst ein Element aus der Position und füllen Sie die Position dann mit aufeinanderfolgenden Elementen. Sehen wir uns zum besseren Verständnis den Algorithmus und den C++-Code an.

Algorithmus

  • Erhalten Sie das Array A mit n Elementen, die Position ist pos

  • Wenn pos >= n + 1, dann

    • Kann nicht gelöscht werden, Funktion beenden

  • Sonst

    • Für den Index c = pos zu n − 1 gehen Sie wie folgt vor

      • A[c]=A[c+1]

    • Ende

    • n := n − 1

  • Ende wenn

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

#include <iostream>
#include <algorithm>
# define Z 30

using namespace std;

void displayArr(int arr[], int n ) {
   for( int i = 0; i < n; i++ ){
      cout << arr[ i ] << ", ";
   } 
   cout << endl;
} 

void deleteElement( int A[], int &n, int pos ){
   if ( pos >= n + 1 ) {   
      cout << "Deletion not possible" << endl;
      return;
   }
   
   else
   {   
      for ( int c = pos; c < n ; c++ ) {
         A[ c ] = A[ c + 1 ];          
      }
      n = n - 1;
   }   
}

int main() {
   int arr[ Z ] = {84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20};
   int n = 15;
   
   cout << "Given array elements: ";
   displayArr( arr, n);
   
   cout << "Delete from last position (position 15)" << endl;
   deleteElement( arr, n, 15 );
   cout << "Array after deleting last element: " << endl;
   displayArr( arr, n);
   
   cout << "Delete from first position (position 0)" << endl;
   deleteElement( arr, n, 0 );
   cout << "Array after deleting first element: " << endl;
   displayArr( arr, n);
   
   cout << "Delete from position 7" << endl;
   deleteElement( arr, n, 7 );
   cout << "Array after deleting element from index 7: " << endl;
   displayArr( arr, n);
}
Nach dem Login kopieren

Ausgabe

Given array elements: 84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20, 
Delete from last position (position 15)
Array after deleting last element: 
84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 
Delete from first position (position 0)
Array after deleting first element: 
56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 
Delete from position 7
Array after deleting element from index 7: 
56, 21, 32, 74, 96, 85, 41, 94, 20, 37, 36, 75,
Nach dem Login kopieren

Fazit

In diesem Artikel haben wir gezeigt, wie man Elemente aus einem Array entfernt. Dies ist ein universeller Prozess und wir können überall löschen, wo wir wollen, einschließlich am Anfang, am Ende und in der Mitte. Vektoren werden nicht verwendet, da wir keine Bibliotheksfunktionen verwenden. Für Arrays mit dynamischer Größe ist auch ein vektorbasierter Ansatz eine Option.

Das obige ist der detaillierte Inhalt vonC++-Programm zum Löschen von Elementen aus einem Array, ohne Bibliotheksfunktionen zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!