Java
 Computer >> コンピューター >  >> プログラミング >> Java

配列回転のための反転アルゴリズムのためのJavaプログラム


以下は、配列回転の反転アルゴリズムを実装するJavaプログラムです-

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] + " ");
   }
}

出力

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

Demoという名前のクラスには、「rotate_left」という名前の関数が含まれています。配列、および配列を回転させる必要のある量は、パラメーターとして関数に渡されます。配列の長さも別の変数に割り当てられます。 'array_reversal'という名前の別の関数が定義されており、配列、bgeinningインデックス、および最後のインデックス値を取得します。

開始インデックスが終了インデックスよりも小さい場合、「temp」変数が定義され、要素が交換されます。開始インデックスがインクリメントされ、終了インデックスがデクリメントされます。 main関数は、配列を定義し、この配列で「rotate_left」関数を呼び出すために使用されます。


  1. 配列要素の乗算のためのC++プログラム

    整数要素の配列で与えられ、タスクは配列の要素を乗算して表示することです。 例 Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 以下のプログラムで使用されるアプローチは次のとおりです − 一時変数を初期化して、最終結果を1で格納します ループを0からnまで開始します。nは配列のサイズです 最終結果を得るには、tempの値にarr[i]を掛け続

  2. 配列ローテーション用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −テキストとパターンが与えられた場合、パターンのすべての出現とその順列(またはアナグラム)をテキストで印刷する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # maximum value MAX = 300 # compare def compare(arr1, arr2):    for i in range(MAX):       if arr1[i] != arr2[i]:       &nbs