Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java cho thuật toán đảo ngược để xoay mảng

Sau đây là chương trình Java để thực hiện thuật toán Đảo ngược để xoay mảng -

Ví dụ

import java.io.*;
public class Demo{
   static void rotate_left(int my_arr[], int no_of_rotation){
      int n = my_arr.length;
      array_reversal(my_arr, 0, no_of_rotation - 1);
      array_reversal(my_arr, no_of_rotation, n - 1);
      array_reversal(my_arr, 0, n - 1);
   }
   static void array_reversal(int my_arr[], int start, int end){
      int temp;
      while (start < end) {
         temp = my_arr[start];
         my_arr[start] = my_arr[end];
         my_arr[end] = temp;
         start++;
         end--;
      }
   }
   public static void main(String[] args){
      int my_arr[] = { 45, 67, 89, 91, 23, 0, 11 };
      rotate_left(my_arr, 4);
      System.out.println("The array after rotating is ");
      for (int i = 0; i < my_arr.length; i++)
      System.out.print(my_arr[i] + " ");
   }
}

Đầu ra

The array after rotating is
23 0 11 45 67 89 91

Một lớp có tên là Demo chứa một hàm có tên là 'xoay_left'. Mảng và số lượng mà mảng cần được xoay được chuyển dưới dạng tham số cho hàm. Độ dài của mảng cũng được gán cho một biến khác. Một hàm khác có tên 'array_reversal' được định nghĩa để lấy mảng, chỉ số bgeinning và giá trị chỉ mục cuối cùng.

Nếu chỉ số bắt đầu nhỏ hơn chỉ số kết thúc, một biến 'tạm thời' được xác định và các phần tử được hoán đổi. Chỉ số bắt đầu được tăng lên và chỉ số kết thúc được giảm xuống. Hàm chính được sử dụng để xác định một mảng và gọi hàm 'xoay_left' trên mảng này.