इस सेक्शन में हम देखेंगे कि स्ट्रिंग को इन-प्लेस कैसे रिवर्स करें। इसलिए हम रिवर्सिंग के लिए किसी अन्य मेमोरी स्पेस का उपयोग नहीं करेंगे। C++ में, हम std::string का उपयोग कर सकते हैं। लेकिन C के लिए हमें कैरेक्टर ऐरे का उपयोग करना होगा। इस प्रोग्राम में हम स्ट्रिंग लेने के लिए कैरेक्टर ऐरे का उपयोग कर रहे हैं। फिर इसे रिवर्स कर रहे हैं।
इनपुट: एक स्ट्रिंग "This is a string" आउटपुट: रिवर्स्ड स्ट्रिंग "gnirts a si sihT"
एल्गोरिदम
reverse_string(str)
इनपुट − स्ट्रिंग
आउटपुट − रिवर्स्ड स्ट्रिंग।
len := स्ट्रिंग की लंबाई
i := 0 और j := (len-1)
while i < j, do
पोजीशन i और j के कैरेक्टर्स को स्वैप करें
i := i + 1
j := j - 1
done
उदाहरण कोड
#include <iostream>
#include <cstring>
using namespace std;
void reverse(char s[]) {
int len = strlen(s); // स्ट्रिंग की लंबाई प्राप्त करें
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
swap(s[i], s[j]);
}
}
int main() {
char s[20] = "This is a string";
cout << "Main String: " << s << endl;
reverse(s);
cout << "Reversed String: " << s << endl;
}
आउटपुट
Main String: This is a string Reversed String: gnirts a si sihT