এই নিবন্ধে আমরা বুঝব কিভাবে স্ট্যাক ব্যবহার করে একটি স্ট্রিং রিভার্স করা যায়। স্ট্রিং হল একটি ডেটা টাইপ যাতে এক বা একাধিক ক্যারেক্টার থাকে এবং যা ডবল কোটেশন চিহ্ন (“ ”) দ্বারা ঘিরে থাকে। স্ট্যাক হল একটি লিনিয়ার ডেটা স্ট্রাকচার যা অবজেক্টের সংগ্রহ সংরক্ষণের জন্য ব্যবহৃত হয়। এটি লাস্ট-ইন-ফাস্ট-আউট (LIFO) নীতির উপর ভিত্তি করে কাজ করে।
ডেমো
মান লেঃ
ইনপুট স্ট্রিং: Java Program
আউটপুট হবে:
রিভার্সড স্ট্রিং: margorP avaJ
এলগরিদম
ধাপ ১ - শুরু ধাপ ২ - দুটি স্ট্রিং ভেরিয়েবল (input_string, result), একটি স্ট্যাক (stack), এবং একটি ক্যারেক্টার ভেরিয়েবল (reverse) ডিক্লেয়ার করুন ধাপ ৩ - মানগুলো সংজ্ঞায়িত করুন ধাপ ৪ - ফর-লুপ ব্যবহার করে স্ট্রিংর প্রতিটি ক্যারেক্টার পরিদর্শন করুন এবং 'push' কীওয়ার্ড ব্যবহার করে স্ট্যাকে পুশ করুন ধাপ ৫ - এখন 'pop' কীওয়ার্ড ব্যবহার করে স্ট্যাকের প্রতিটি এলিমেন্ট পপ করুন এবং রেজাল্ট স্ট্রিং-এ অ্যাসাইন করুন ধাপ ৬ - ফলাফল প্রদর্শন করুন ধাপ ৭ - থামুন
উদাহরণ ১: মেইন ফাংশনে সব অপারেশন
import java.util.*;
public class ReverseString {
public static void main(String[] args) {
System.out.println("Required packages have been imported");
String input_string = "Java Program";
System.out.println("The string is defined as " + input_string);
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
String result = new String(reverse);
System.out.println("\nThe reversed string is: " + result);
}
}
আউটপুট
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ
উদাহরণ ২: অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে ফাংশন ব্যবহার
import java.util.*;
public class ReverseString {
public static String reverse_string(String input_string) {
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
return new String(reverse);
}
public static void main(String[] args) {
System.out.println("Required packages have been imported");
String input_string = "Java Program";
System.out.println("The string is defined as " + input_string);
System.out.println("\nThe reversed string is: " + reverse_string(input_string));
}
}
আউটপুট
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ