编写程序以反转C ++中的数组或字符串

在这里,我们得到一个数组或一个字符串。我们将创建一个程序来反转数组或字符串的元素。

让我们举个例子来了解这个问题,

输入值

array = {2, 5, 7, 1, 9}

输出结果

{9, 1, 7, 5, 2}

输入值

string = “Hello!”

输出结果

!0lleH

要创建一个程序,我们将遍历数组/字符串的元素(两者都以相同的方式工作)。将一个变量作为开始,将变量之一作为结束。并交换两个元素。增加开始变量,减少结束变量。交换将继续,直到起始变量的值小于结束变量的值为止。

可以通过两种方式创建程序,一种是迭代的,另一种是递归的。我们将创建一个程序来演示这两种方法的工作原理。

示例

方法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

以上是 编写程序以反转C ++中的数组或字符串 的全部内容, 来源链接: utcz.com/z/316308.html

回到顶部