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.
Erstellen Sie eine neue 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.



