सी ++, पायथन और जावास्क्रिप्ट में एक ऐरे को कैसे उलटें?

एक सरणी सन्निहित स्मृति स्थानों पर संग्रहीत वस्तुओं का एक संग्रह है। किसी सरणी का उत्क्रमण किसी सरणी पर किए जाने वाले सबसे सामान्य कार्यों में से एक है। इस लेख में, आप सीखेंगे कि पुनरावृत्ति और पुनरावर्ती दृष्टिकोणों का उपयोग करके किसी सरणी के उत्क्रमण के अपने स्वयं के कार्यान्वयन को कैसे लिखना है।

एक सरणी को उलटने के लिए पुनरावृत्त दृष्टिकोण

समस्या का विवरण

आपको एक सरणी गिरफ्तारी दी गई है। आपको सरणी के तत्वों को उलटने की जरूरत है, फिर उलटे सरणी को प्रिंट करें। आपको लूप का उपयोग करके इस समाधान को लागू करने की आवश्यकता है।

उदाहरण १ : मान लीजिए गिरफ्तारी = [४५, १२, ६७, ६३, ९, २३, ७४]

उलटा गिरफ्तारी = [७४, २३, ९, ६३, ६७, १२, ४५]

इस प्रकार आउटपुट है: 74 23 9 63 67 12 45।

उदाहरण २ : मान लीजिए गिरफ्तारी = [१, २, ३, ४, ५, ६, ७, ८]

उलटा गिरफ्तारी = [८, ७, ६, ५, ४, ३, २, १]

इस प्रकार आउटपुट है: 8 7 6 5 4 3 2 1।

लूप्स का उपयोग करके किसी सरणी को उलटने का दृष्टिकोण

आप नीचे दिए गए दृष्टिकोण का पालन करके लूप का उपयोग करके किसी सरणी के तत्वों को उलट सकते हैं:

  1. इंडेक्स वेरिएबल्स "i" और "j" को इनिशियलाइज़ करें जैसे कि वे क्रमशः पहले (0) और आखिरी (sizeOfArray -1) इंडेक्स को इंगित करते हैं।
  2. लूप में, इंडेक्स i पर एलिमेंट को इंडेक्स j के एलिमेंट के साथ स्वैप करें।
  3. i के मान को 1 से बढ़ाएँ और j के मान को 1 से घटाएँ।
  4. लूप को i < sizeOfArray/2 तक चलाएं।

C++ प्रोग्राम लूप्स का उपयोग करके एक ऐरे को उलटने के लिए

लूप का उपयोग करके किसी सरणी को उलटने के लिए C++ प्रोग्राम नीचे दिया गया है:

 // C++ program to reverse the elements of an array using loops
#include <iostream>
using namespace std;

void reverseArr(int arr[], int size)
{
for(int i=0, j=size-1; i<size/2; i++, j--)
{
swap(arr[i], arr[j]);
}
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << "Original Array: " << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
cout << "Reversed array: " << endl;
printArrayElements(arr, size);
return 0;
}

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

संबंधित: सी ++, पायथन और जावास्क्रिप्ट में एक स्ट्रिंग को कैसे उलटें?

लूप्स का उपयोग करके एक सरणी को उलटने के लिए पायथन प्रोग्राम

नीचे लूप का उपयोग करके एक सरणी को उलटने के लिए पायथन प्रोग्राम है:

 # Python program to reverse the elements of a list using loops
def reverseList(arr, size):
i = 0
j = size-1
while i<size/2:
arr[i], arr[j] = arr[j], arr[i]
i = i + 1
j = j - 1
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=" ")
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print("Original Array:")
printListElements(arr, size)
# Reversing the array
reverseList(arr, size)
# Printing the reversed array
print("Reversed Array:")
printListElements(arr, size)

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

लूप्स का उपयोग करके एक सरणी को उलटने के लिए जावास्क्रिप्ट प्रोग्राम

लूप का उपयोग करके किसी सरणी को उलटने के लिए जावास्क्रिप्ट प्रोग्राम नीचे दिया गया है:

संबंधित: मर्ज सॉर्ट एल्गोरिथम का एक परिचय

 // JavaScript program to reverse the elements of an array using loops
function reverseArr(arr, size) {
for(let i=0, j=size-1; i<(size)/2; i++, j--) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
function printArrayElements(arr, size) {
for(let i=0; i<size; i++) {
document.write(arr[i] + " ");
}
document.write("<br>");
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
var size = arr.length;
// Printing the original array
document.write("Original Array: " + "<br>");
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
document.write("Reversed Array: " + "<br>");
printArrayElements(arr, size);

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

एक सरणी को उलटने के लिए पुनरावर्ती दृष्टिकोण

समस्या का विवरण

आपको एक सरणी गिरफ्तारी दी गई है। आपको सरणी के तत्वों को उलटने की जरूरत है, फिर उलटे सरणी को प्रिंट करें। आपको रिकर्सन का उपयोग करके इस समाधान को लागू करने की आवश्यकता है।

उदाहरण १ : मान लीजिए गिरफ्तारी = [४५, १२, ६७, ६३, ९, २३, ७४]

उलटा गिरफ्तारी = [७४, २३, ९, ६३, ६७, १२, ४५]

इस प्रकार आउटपुट 74 23 9 63 67 12 45 है।

उदाहरण २ : मान लीजिए गिरफ्तारी = [१, २, ३, ४, ५, ६, ७, ८]

उलटा गिरफ्तारी = [८, ७, ६, ५, ४, ३, २, १]

इस प्रकार आउटपुट 8 7 6 5 4 3 2 1 है।

रिकर्सन का उपयोग करके एक सरणी को उलटने के लिए दृष्टिकोण

आप नीचे दिए गए दृष्टिकोण का पालन करके रिकर्सन का उपयोग करके किसी सरणी के तत्वों को उलट सकते हैं:

  1. इंडेक्स वेरिएबल्स को प्रारंभ और समाप्त करें जैसे कि वे क्रमशः पहले (0) और अंतिम (आकारऑफएरे -1) इंडेक्स को इंगित करते हैं।
  2. सूचकांक अंत में तत्व के साथ सूचकांक शुरू में तत्व स्वैप।
  3. पुनरावर्ती रूप से रिवर्स फ़ंक्शन को कॉल करें। रिवर्स फ़ंक्शन के पैरामीटर में, प्रारंभ के मान को 1 से बढ़ाएं और अंत के मान को 1 से घटाएं।
  4. जब प्रारंभ चर का मान अंत चर के मान से अधिक या उसके बराबर हो तो पुनरावर्तन रोकें।

सी ++ प्रोग्राम रिकर्सन का उपयोग करके एक ऐरे को उलटने के लिए

रिकर्सन का उपयोग करके सरणी को उलटने के लिए सी ++ प्रोग्राम नीचे दिया गया है:

 // C++ program to reverse an array using recursion
#include <iostream>
using namespace std;
void reverseArr(int arr[], int start, int end)
{
if (start >= end)
{
return;
}
swap(arr[start], arr[end]);
reverseArr(arr, start+1, end-1);
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << "Original Array: " << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
cout << "Reversed array: " << endl;
printArrayElements(arr, size);
return 0;
}

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

रिकर्सन का उपयोग करके एक सरणी को उलटने के लिए पायथन प्रोग्राम

रिकर्सन का उपयोग करके एक सरणी को उलटने के लिए पायथन प्रोग्राम नीचे दिया गया है:

संबंधित: गतिशील प्रोग्रामिंग: उदाहरण, सामान्य समस्याएं और समाधान

 # Python program to reverse an array using recursion
def reverseList(arr, start, end):
if start >= end:
return
arr[start], arr[end] = arr[end], arr[start]
reverseList(arr, start+1, end-1)
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=" ")
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print("Original Array:")
printListElements(arr, size)
# Reversing the array
reverseList(arr, 0, size-1)
# Printing the reversed array
print("Reversed Array:")
printListElements(arr, size)

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

रिकर्सन का उपयोग करके एक सरणी को उलटने के लिए जावास्क्रिप्ट प्रोग्राम

रिकर्सन का उपयोग करके एक सरणी को उलटने के लिए जावास्क्रिप्ट प्रोग्राम नीचे दिया गया है:

संबंधित: रिकर्सन का उपयोग करके प्राकृतिक संख्याओं का योग कैसे प्राप्त करें

 // JavaScript program to reverse an array using recursion
function reverseArr(arr, start, end)
{
if (start >= end)
{
return;
}
[arr[start], arr[end]] = [arr[end], arr[start]];
reverseArr(arr, start+1, end-1);
}
function printArrayElements(arr, size)
{
for(let i=0; i<size; i++)
{
document.write(arr[i] + " ");
}
document.write("<br>");
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
let size = arr.length;
// Printing the original array
document.write("Original Array: " + "<br>");
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
document.write("Reversed Array: " + "<br>");
printArrayElements(arr, size);

आउटपुट:

 Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

समस्याओं को हल करने के लिए रिकर्सन का प्रयोग करें

एक पुनरावर्ती कार्य एक ऐसा कार्य है जो स्वयं को कॉल करता है। रिकर्सन में, समस्याओं को स्वयं के छोटे, सरल संस्करणों में तोड़कर एक समस्या का समाधान किया जाता है।

रिकर्सन के कई फायदे हैं: रिकर्सिव कोड एक पुनरावृत्त कोड से छोटा है, इसका उपयोग उन समस्याओं को हल करने के लिए किया जा सकता है जो स्वाभाविक रूप से रिकर्सिव हैं, इसका उपयोग इंफिक्स, प्रीफिक्स, पोस्टफिक्स मूल्यांकन में किया जा सकता है, रिकर्सन लिखने के लिए आवश्यक समय को कम करता है और डिबग कोड, आदि।

तकनीकी साक्षात्कार में रिकर्सन साक्षात्कारकर्ताओं का पसंदीदा विषय है। आपको सबसे कुशल प्रोग्रामर बनने के लिए कोड लिखते समय रिकर्सन और इसका उपयोग कैसे करना है, इसके बारे में पता होना चाहिए।