Interview Question : Reverse an Array in C++

Kartikeya Mishra
3 min readOct 21, 2023

--

Data Structure and Algorithm Interview Question

void reverseArray(vector<int> &arr, int m)
{
int start = m + 1;
int end = arr.size() - 1;
while (start < end) {
swap(arr[start], arr[end]);
start++;
end--;
}
}

English :

Here’s an explanation of the reverseArray function:

  • It’s a void function, which means it doesn’t return any value but instead modifies the vector arr passed by reference.
  • vector<int> &arr is the input vector, and int m is the index of the element that marks the end of the portion to be reversed.
  • start is initialized to m + 1, and end is initialized to the index of the last element in the vector arr.
  • The function uses a while loop to swap elements in the vector arr starting from index start and moving towards index end. It continues swapping elements until start is no longer less than end.
  • Inside the loop, swap(arr[start], arr[end]) is used to swap the elements at positions start and end.
  • start is incremented, and end is decremented at the end of each iteration to move toward the center of the portion being reversed.

Hindi :

यहां reverseArray फ़ंक्शन की विवरण है:

  • यह एक void फ़ंक्शन है, जिसका मतलब है कि यह कोई मान नहीं वापस करता है, बल्कि वेक्टर arr को संदर्भ में पास किया जाता है और उसे संशोधित करता है।
  • vector<int> &arr इनपुट वेक्टर है, और int m उस तत्व का सूची में अंत करने का सूची क्रम संकेत करता है।
  • start को m + 1 के साथ प्रारंभ किया जाता है, और end को वेक्टर arr में अंतिम तत्व के सूची में स्थानांतरित किया जाता है।
  • फ़ंक्शन व्हाइल लूप का उपयोग करता है ताकि वेक्टर arr के तत्वों को स्वाप कर सके, start से आरंभ करके end की ओर बढ़ता है। start end से अधिक नहीं होने तक तत्वों को स्वाप करना जारी रहता है।
  • लूप के अंदर, swap(arr[start], arr[end]) का उपयोग स्थानांतरण करने के लिए किया जाता है, start और end के स्थानों पर।
  • start को बढ़ाया जाता है, और प्रत्येक अवधि के अंत में end को घटाया जाता है, जो स्थानांतरण किया जाने वाले भाग के केंद्र की ओर बढ़ने के लिए होता है।

Hinglish :

Yeh ‘reverseArray’ function ki vistar se samjhane:

  • Yeh ek void function hai, iska matlab hai ki yeh koi return value nahi deta, balki vector ‘arr’ ko reference ke roop mein pass karke modify karta hai.
  • ‘vector<int> &arr’ input vector hai, aur ‘int m’ uss element ko list mein ant karne ka index indicate karta hai.
  • ‘start’ ‘m + 1’ se shuru kiya jata hai, aur ‘end’ list ‘arr’ mein antim element ke index se initialize kiya jata hai.
  • Function ek while loop ka istemal karta hai vector ‘arr’ ke element ko swap karne ke liye, ‘start’ se shuru karke ‘end’ ki or badhata hai. Yeh tab tak element ko swap karta hai jab tak ‘start’ ‘end’ se chota na ho jaye.
  • Loop ke andar, ‘swap(arr[start], arr[end])’ ka istemal element ko swap karne ke liye hota hai.
  • ‘start’ badhaya jata hai, aur har iteration ke ant mein ‘end’ ko kam kiya jata hai, jisse swap kiye jane wale portion ke center ki or badha ja sake.

--

--

Kartikeya Mishra

Computer science engineer nomad exploring digital world. Learning and teaching while having fun.