編寫一個 C++ 程式來反轉一個數組或字串
在這裡,我們提供了一個數組或字串。我們將建立一個程式來反轉陣列或字串的元素。
我們舉一個例子來了解一下這個問題,
輸入
array = {2, 5, 7, 1, 9}輸出
{9, 1, 7, 5, 2}輸入
string = “Hello!”
輸出
!0lleH
為了建立一個程式,我們將迴圈陣列或字串的元素(兩者以相同的方式工作)。使用一個變數作為起始值,另一個變數作為結尾值。然後交換這兩個元素。令起始變數加 1,結束變數減 1。交換將持續到起始變數的值小於結束變數的值為止。
可以建立兩種程式,一種是迭代程式,另一種是遞迴程式。我們將建立的程式演示兩種方法的工作原理。
示例
方法 1:迭代法
Program :
#include <iostream>
using namespace std;
void revereseArrayIt(int arr[], int start, int end){
while (start < end){
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
int main() {
int arr[] = {6, 9, 1, 4, 0, 5};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"Orignal Array : ";
for (int i = 0; i < n; i++)
cout<<arr[i]<<" ";
cout<<endl;
revereseArrayIt(arr, 0, n-1);
cout << "Reversed array : ";
for (int i = 0; i < n; i++)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
輸出
Orignal Array : 6 9 1 4 0 5 Reversed array : 5 0 4 1 9 6
示例
方法 2:遞迴法
#include <iostream>
using namespace std;
void revereseArrayRec(int arr[], int start, int end){
if(start >= end)
return;
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
revereseArrayRec(arr,start+1, end-1);
}
int main() {
int arr[] = {6, 9, 1, 4, 0, 5};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"Orignal Array : ";
for (int i = 0; i < n; i++)
cout<<arr[i]<<" ";
cout<<endl;
revereseArrayRec(arr, 0, n-1);
cout << "Reversed array : ";
for (int i = 0; i < n; i++)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}輸出
Orignal Array : 6 9 1 4 0 5 Reversed array : 5 0 4 1 9 6
廣告
資料結構
網路化
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP