/* *** ITERATIVE APPROCH *** */
#include <iostream>
using namespace std;
void rev(int start, int end, int arr[])
{
while(start < end)
{
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
void printArray(int arr[], int size)
{
for(int i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int arr[] = {1, 3, 5, 6, 7, 9};
int size = sizeof(arr) / sizeof(arr[0]);
// Print the original array
cout << "original array is: ";
printArray(arr, size);
// Function calling
rev(0, size-1, arr);
cout << "Reversed array is: ";
// Print the Reversed array
printArray(arr, size);
return 0;
}
OUTPUT:
original array is: 1 3 5 6 7 9
Reversed array is: 9 7 6 5 3 1
/* *** RECURSIVE APPROCH *** */
#include <iostream>
using namespace std;
// Function to reverse arr[] form start to end
void rev(int start, int end, int arr[])
{
if(start >= end)
return;
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// Recursive function calling
rev(start + 1, end - 1, arr);
}
// Function to print an array
void printArray(int arr[], int size)
{
for(int i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int arr[] = {3, 5, 6, 9, 8, 7};
int n = sizeof(arr) / sizeof(arr[0]);
// Print original array
cout << "Original array is: ";
printArray(arr, n);
// Reversed array
rev(0, n-1, arr);
// Print reversed array
cout << "Reversed array is: ";
printArray(arr, n);
return 0;
}
Original array is: 3 5 6 9 8 7
Reversed array is: 7 8 9 6 5 3
0 Comments