Reverse The Array
Data Structure and Algorithm Interview Question
Complete Code :
#include <bits/stdc++.h>
using namespace std;
/* Function to reverse arr[] from start to end */
void rvereseArray(int arr[], int start, int end)
{
if (start >= end)
return;
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// Recursive Function calling
rvereseArray(arr, start + 1, end - 1);
}
/* Utility 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[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Original array: ";
printArray(arr, size);
rvereseArray(arr, 0, size - 1);
cout << "Reversed array: ";
printArray(arr, size);
return 0;
}
Reverse Array :
/* Function to reverse arr[] from start to end*/
void rvereseArray(int arr[], int start, int end)
{
if (start >= end)
return;
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// Recursive Function calling
rvereseArray(arr, start + 1, end - 1);
}
English:
The rvereseArray
function takes three arguments: an integer array arr
, and two indices start
and end
. It reverses the elements of the array in the specified range using recursion. Here's a breakdown:
- If
start
is greater than or equal toend
, it means the array or subarray is already reversed, so it returns without doing anything. - Otherwise, it swaps the elements at
start
andend
indices using a temporary variabletemp
. - Then, it calls itself recursively with
start + 1
andend - 1
, effectively moving towards the center of the array until it reverses the entire array.
This function essentially reverses the order of elements in the array within the specified range.
Hindi:
rvereseArray
फ़ंक्शन तीन प्राथमिक विधियों को स्वीकार करता है: एक पूर्णांक एरे arr
, और दो सूचीए start
और end
। यह उस अनुभाग के तत्वों को पलटता है जो रिक्शन का उपयोग करके दिए गए हैं। यहां एक विस्तार में विश्लेषण किया गया है:
- यदि
start
end
से अधिक है या उसके बराबर है, तो इसका मतलब है कि एरे या सबएरे पहले से पलटा हुआ है, इसलिए यह कुछ नहीं करता है। - अन्यथा, यह एक स्थायी चर
temp
का उपयोग करकेstart
औरend
सूचीओं के तत्वों को बदलता है। - फिर, यह खुद को रिकर्सिव रूप से
start + 1
औरend - 1
के साथ कॉल करता है, प्रभावी रूप से सूची के केंद्र की ओर बढ़ता है, जब तक यह पूरे एरे को पलट नहीं देता।
यह फ़ंक्शन मूल एरे के तत्वों के क्रम को उलट देता है जिसे निर्दिष्ट सीमा में।
Hinglish:
rvereseArray
function teen arguments leti hai: ek integer array arr
, aur do indices start
aur end
. Is function mein di gayi range ke andar array ke elements ko ulta karti hai, recursion ka istemal karke. Yahan par ek vistaar se samjhate hain:
- Agar
start
end
se bada ya barabar hai, to iska matlab hai ki array ya subarray pahle se hi ulta hua hai, isliye kuch nahi kiya jata, function yahaan se return ho jata hai. - Varna, yah
start
aurend
indices par maujood elements ko ek temporary variabletemp
ka istemal karke swap karti hai. - Fir, yah khud ko recursive tareeke se call karti hai
start + 1
aurend - 1
ke sath, is tarah se array ke beech ke hisse ki taraf badhti hai, jab tak pura array ulta nahi ho jata.
Print Function:
/* Utility function to print an array */
void printArray(int arr[], int size)
{
for (int i = 0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
English:
The printArray
function takes an integer array arr
and its size as arguments. It's responsible for printing the elements of the array, separated by spaces, followed by a newline character. It's a simple utility function for displaying the array.
Hindi:
printArray
फ़ंक्शन एक पूर्णांक एरे arr
और उसका आकार को पैरामीटर के रूप में लेता है। इसका कार्य है कि एरे के तत्वों को प्रिंट करना, अंतर से अलग करके, एक न्यूलाइन वर्णक देने के बाद। यह एरे को प्रदर्शित करने के लिए एक साधारण साहायक फ़ंक्शन है।
Hinglish:
printArray
function ek integer array arr
aur uski size ko argument ke roop mein leti hai. Iska kaam array ke elements ko dikhana hai, unhein space se alag karke, aur ant mein newline character ke sath. Yeh ek sadharan utility function hai jiska upayog array ko dikhane ke liye hota hai.
Main Function:
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Original array: ";
printArray(arr, n);
rvereseArray(arr, 0, n - 1);
cout << "Reversed array: ";
printArray(arr, n);
return 0;
}
English:
In this main
function, we define an array arr
, print the original array, reverse it using rvereseArray
, print the reversed array, and finally return 0 to indicate successful program execution.
Hindi:
इस मुख्य (main) फ़ंक्शन में, हम एक ऐरे ‘arr’ की परिभाषा करते हैं, मूल एरे को प्रिंट करते हैं, ‘rvereseArray’ का उपयोग करके इसे उलटते हैं, उलटे हुए एरे को प्रिंट करते हैं, और आखिरकार सफल प्रोग्राम का पूरा होने का संकेत देने के लिए 0 लौटाते हैं।
Hinglish:
Is main function mein, hum ek array ‘arr’ ko define karte hain, original array ko print karte hain, ‘rvereseArray’ ka istemal karke ise reverse karte hain, reverse array ko print karte hain, aur ant mein 0 vapas karte hain, jo saphal program chalane ka sanket dene ke liye hota hai.