কম্পিউটার টিউটোরিয়াল

সি বা সি++-তে স্ট্রিং ইন-প্লেস (In-place) রিভার্স করা


এই সেকশনে আমরা দেখব কিভাবে একটি স্ট্রিং ইন-প্লেস (in-place) রিভার্স করা যায়। অর্থাৎ রিভার্স করার জন্য আমরা কোনো অতিরিক্ত মেমরি স্পেস ব্যবহার করব না। সি++-এ আমরা std::string ব্যবহার করতে পারি। কিন্তু সি-এ আমাদের ক্যারেক্টার অ্যারে ব্যবহার করতে হবে। এই প্রোগ্রামে আমরা ক্যারেক্টার অ্যারে ব্যবহার করছি স্ট্রিং নেওয়ার জন্য। তারপর সেটি রিভার্স করছি।

Input: A string "This is a string"
Output: The reversed string "gnirts a si sihT"

এলগরিদম

reverse_string(str)

ইনপুট − স্ট্রিং

আউটপুট − রিভার্স করা স্ট্রিং।

len := স্ট্রিং-এর দৈর্ঘ্য
i := 0 এবং j := (len-1)
while i < j, do
    পজিশন i এবং j-এর ক্যারেক্টারগুলো сваপ (swap) করুন
    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
  1. জাভাস্ক্রিপ্টে স্ট্রিং উল্টে দেয়ার উপায় (in place)

  2. অ্যান্ড্রয়েডে স্ট্রিং রিভার্স করার পদ্ধতি

  3. পাইথনে স্ট্রিং রিভার্স (Reverse) করার পদ্ধতিসমূহ

  4. পাইথনে স্ট্রিং রিভার্স করা