Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เพื่อย้อนกลับสตริงโดยใช้ Stacks


ในบทความนี้ เราจะเข้าใจวิธีการย้อนกลับสตริงโดยใช้สแต็ค สตริงเป็นประเภทข้อมูลที่มีอักขระตั้งแต่หนึ่งตัวขึ้นไปและอยู่ในเครื่องหมายคำพูดคู่ (“ ”) สแต็กเป็นโครงสร้างข้อมูลเชิงเส้นที่ใช้เก็บคอลเล็กชันของอ็อบเจ็กต์ อิงตาม Last-In-First-Out (LIFO)

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

สมมติว่าข้อมูลที่เราป้อนคือ

Input string: Java Program

ผลลัพธ์ที่ต้องการจะเป็น

Reversed string: margorP avaJ

อัลกอริทึม

Step 1 - START
Step 2 - Declare two string values namely input_string and result, a stack value namely stack, and a char value namely reverse.
Step 3 - Define the values.
Step 4 - Iterate over each characters of the string using a for-loop and push each character to the stack using ‘push’ keyword.
Step 5 - Now, pop each of the elements in the stack using ‘pop’ keyword and assign it to the result string.
Step 6 - Display the result
Step 7 - Stop

ตัวอย่างที่ 1

ที่นี่ เราเชื่อมโยงการดำเนินการทั้งหมดเข้าด้วยกันภายใต้ฟังก์ชัน 'หลัก'

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

ตัวอย่างที่ 2

ในที่นี้ เราสรุปการดำเนินการเป็นฟังก์ชันที่แสดงการเขียนโปรแกรมเชิงวัตถุ

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