निम्नलिखित एल्गोरिदम का पालन करके रिवर्स ऑर्डर में एलिमेंट्स प्रिंट करें:
चरण 1 - आकार 5 की सरणी घोषित करें
चरण 2 - फोर लूप का उपयोग करके 5 एलिमेंट्स मेमोरी में दर्ज करें
चरण 3 - एलिमेंट्स को रिवर्स ऑर्डर में प्रदर्शित करें
फोर लूप डिक्रीमेंट करके
एलिमेंट्स को उलटने का एकमात्र तर्क फोर लूप है:
for(i = 4; i >= 0; i--) {
printf("array[%d]: ", i);
printf("%d\n", array[i]);
}
उदाहरण प्रोग्राम
#include <stdio.h>
void main() {
// रन टाइम पर सरणी घोषित करना
int array[5], i;
// सरणी में एलिमेंट्स पढ़ना
printf("Enter elements into the array:\n");
for(i = 0; i < 5; i++) {
printf("array[%d]: ", i);
scanf("%d", &array[i]);
}
// सरणी में एलिमेंट्स का रिवर्स ऑर्डर प्रदर्शित करना
printf("The elements from the array displayed in reverse order:\n");
for(i = 4; i >= 0; i--) {
printf("array[%d]: %d\n", i, array[i]);
}
}
आउटपुट
Enter elements into the array: array[0]: 23 array[1]: 13 array[2]: 56 array[3]: 78 array[4]: 34 The elements from the array displayed in reverse order: array[4]: 34 array[3]: 78 array[2]: 56 array[1]: 13 array[0]: 23
वैकल्पिक दृष्टिकोण
1. इन-प्लेस रिवर्सल (सरणी मॉडिफाई करना)
void reversePrint(int arr[], int n) {
for(int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
}
2. रिकर्सन का उपयोग करके
void printReverse(int arr[], int n) {
if(n <= 0) return;
printf("%d ", arr[n-1]);
printReverse(arr, n-1);
}
3. पॉइंटर अंकगणित
void printReversePtr(int *arr, int n) {
int *end = arr + n - 1;
while(end >= arr) {
printf("%d ", *end--);
}
}
सामान्य उपयोग के मामले
- स्टैक ऑपरेशन्स (LIFO)
- स्ट्रिंग रिवर्सल
- पैलिंड्रोम चेक
- बैकट्रैकिंग एल्गोरिदम
नोट
मूल सरणी को मॉडिफाई किए बिना केवल प्रिंट करना अधिक मेमोरी-कुशल है। यदि रिवर्स्ड सरणी की आवश्यकता है, तो इन-प्लेस स्वैप या कॉपी दृष्टिकोण का उपयोग करें।