Ein Array in O umkehren

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du ein Array in der Programmiersprache C++ mit verschiedenen Techniken umkehren kannst. Das Umkehren eines Arrays bedeutet, die Reihenfolge eines Arrays zu ändern, wobei das letzte Element des Arrays das erste und das erste Element das letzte wird. In diesem Lab lernst du, wie du das Umkehren eines Arrays mit verschiedenen Methoden, einschließlich For-Schleifen, eingebauter Funktionen, Zeigern, Rekursion und benutzerdefinierter Funktionen, erreichen kannst.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/FunctionsGroup -.-> cpp/recursion("Recursion") cpp/AdvancedConceptsGroup -.-> cpp/pointers("Pointers") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") subgraph Lab Skills cpp/arrays -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/for_loop -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/while_loop -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/recursion -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/pointers -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/output -.-> lab-96214{{"Ein Array in O umkehren"}} cpp/files -.-> lab-96214{{"Ein Array in O umkehren"}} end

Erstellen einer neuen C++-Datei

Erstelle eine neue C++-Datei mit dem Namen reverse_array.cpp im Verzeichnis ~/project, indem du den folgenden Befehl ausführst:

touch ~/project/reverse_array.cpp

Ein Array mithilfe einer For-Schleife umkehren

Der folgende Code zeigt, wie man ein Array mithilfe einer For-Schleife umkehrt:

#include <iostream>
using namespace std;
void reverseArray(int arr[], int size){
    for(int i=0;i<size/2;i++){
        int temp = arr[i];
        arr[i] = arr[size-i-1];
        arr[size-i-1] = temp;
    }
}
int main(){
    int arr[]={1,2,3,4,5};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout<<"Original Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    reverseArray(arr,size);
    cout<<"Reversed Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    return 0;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:

g++ reverse_array.cpp -o reverse_array
./reverse_array

Ein Array mithilfe einer eingebauten Funktion umkehren

Der folgende Code zeigt, wie man ein Array mithilfe einer eingebauten C++-Funktion umkehrt:

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int arr[]={1,2,3,4,5};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout<<"Original Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    reverse(arr,arr+size);
    cout<<"Reversed Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    return 0;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:

g++ reverse_array.cpp -o reverse_array
./reverse_array

Ein Array mithilfe einer benutzerdefinierten Funktion umkehren

Der folgende Code zeigt, wie man eine benutzerdefinierte Funktion definiert, um ein Array umzukehren:

#include <iostream>
using namespace std;
void reverseArray(int arr[], int size){
    for(int i=0;i<size/2;i++){
        int temp = arr[i];
        arr[i] = arr[size-i-1];
        arr[size-i-1] = temp;
    }
}
int main(){
    int arr[]={1,2,3,4,5};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout<<"Original Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    reverseArray(arr,size);
    cout<<"Reversed Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    return 0;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:

g++ reverse_array.cpp -o reverse_array
./reverse_array

Ein Array mithilfe von Zeigern umkehren

Der folgende Code zeigt, wie man ein Array mithilfe von Zeigern umkehrt:

#include <iostream>
using namespace std;
void reverseArray(int *arr, int size){
    int *first = arr, *last = arr + size - 1;
    while(first < last){
        int temp = *first;
        *first = *last;
        *last = temp;
        first++;
        last--;
    }
}
int main(){
   int arr[] = {1, 2, 3, 4, 5};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Original Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
   reverseArray(arr, size);
   cout<<"Reversed Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
   return 0;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:

g++ reverse_array.cpp -o reverse_array
./reverse_array

Ein Array mithilfe der Rekursion umkehren

Der folgende Code zeigt, wie man ein Array mithilfe der Rekursion umkehrt:

#include <iostream>
using namespace std;
void reverseArray(int arr[], int start, int end){
    if(start >= end)
        return;
    int temp = arr[start];
    arr[start] = arr[end];
    arr[end] = temp;
    reverseArray(arr,start+1,end-1);
}
int main(){
   int arr[] = {1, 2, 3, 4, 5};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"Original Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
   reverseArray(arr,0,size-1);
   cout<<"Reversed Array: ";
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
   return 0;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:

g++ reverse_array.cpp -o reverse_array
./reverse_array

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Reverse an Array in O(n)" abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.