Java >> Java tutorial >  >> Java

Java-program til cyklisk permutering af elementerne i et array

I denne øvelse lærer vi, hvordan man cyklisk permuterer elementerne i et array, det vil sige at flytte hvert array-element til venstre med et indeks. Den første værdi vil gå ind i det sidste indeks. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Input: 2 4 1 5 6 7

Output: 4 1 5 6 7 2

Program 1:Permuter cyklisk elementerne i et array

I denne tilgang permuterer vi cyklisk elementerne i en matrix ved at flytte elementerne én position før.

Algorithme

  1. Start
  2. Deklarer et array.
  3. Initialiser arrayet
  4. Deklarer en variabel, der gemmer elementet ved det første indeks før løkken.
  5. Brug en for-løkke til at iterere gennem hvert element i arrayet.
  6. Skift nu hvert element til venstre.
  7. Nu vil det sidste element i det ændrede array være startelementet.
  8. Stop

Nedenstående program viser, hvordan man cyklisk permuterer elementerne i et array ved at krydse og forskyde elementerne. Erklær en variabel før for-løkken for at gemme det første element i arrayet. Brug en for-løkke til at flytte resten af ​​elementerne til venstre med én position. Til sidst tildeles den lagrede værdi til det sidste element i arrayet. Vis resultatet.

/*Java program to cyclically permute the elements of an array*/
import java.util.Arrays;  
import java.util.Scanner;
import java.util.*;  

public class Main  
{  
   public static void main(String args[])   
   {  
      Scanner sc=new Scanner(System.in);

      int n;    //Declare array size
      System.out.println("Enter the number of elements ");
      n=sc.nextInt();     //Initialize array size

      int arr[]=new int[n];   //Declare array
      System.out.println("Enter the elements of the array ");
      for(int i=0; i<n ;i++)     //Initialize array
      {
          arr[i]=sc.nextInt();
      }
      System.out.println("Initial Array "+Arrays.toString(arr));
      int x = arr[0]; // store a[0] 
        int i; 
        for (i = 0; i < arr.length - 1; i++) { 
            
            // for other element shift left 
            arr[i] = arr[i + 1]; 
        } 
        // for the last element in the modified array 
        // it will be starting element 
        arr[i] = x; 
      
      
      System.out.println("Updated Array" +Arrays.toString(arr));  //Display the array
   }  
}  


Indtast antallet af elementer:
5
Indtast elementerne i arrayet
6 7 8 2 3 4
Initial Array [ 6 7 8 2 3 4 ]
Opdateret array [ 7 8 2 3 4 6 ]

Program 2:Permuter elementerne i et array cyklisk

I denne tilgang permuterer vi cyklisk elementerne i en matrix ved at bytte om på elementerne.

Algorithme

  1. Start
  2. Deklarer et array.
  3. Initialiser arrayet
  4. Deklarer en anden variabel for at gemme det første element i arrayet.
  5. Brug en for-løkke til at bytte hvert element i arrayet.
  6. I hver iteration skift hvert element med det første element.
  7. Fortsæt denne udskiftning af elementer i hver iteration indtil slutningen af ​​løkken.
  8. Vis det opdaterede array.
  9. Stop.

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man cyklisk permuterer elementerne i et array ved at bytte om på elementerne. For det første skal du deklarere og initialisere et array. Erklær en anden variabel for at gemme det første element i arrayet. Brug en for-løkke til at krydse hvert element i arrayet. Skift derefter hvert element med det første element i arrayet. I hver iteration byttes kun to elementer. Fortsæt processen indtil slutningen af ​​løkken for at få det endelige resultat.

/*Java program to cyclically permute the elements of an array*/
import java.util.Arrays;  
import java.util.Scanner;
import java.util.*;  

public class Main  
{  
   public static void main(String args[])   
   {  
      Scanner sc=new Scanner(System.in);

      int n;    //Declare array size
      System.out.println("Enter the number of elements ");
      n=sc.nextInt();     //Initialize array size

      int arr[]=new int[n];   //Declare array
      System.out.println("Enter the elements of the array ");
      for(int i=0; i<n ;i++)     //Initialize array
      {
          arr[i]=sc.nextInt();
      }
      //Display the original array
      System.out.println("Initial Array "+Arrays.toString(arr));
      
        int first = arr[0];  //Initialize the first element of the array to a variable
        int start = 0; 
        
        // swaping each element with the first element 
        for (int i = 1; i < arr.length; i++) { 
            arr[start++] = arr[i]; 
            arr[i] = first; 
        } 
      
       //Display the updated array
      System.out.println("Updated Array" +Arrays.toString(arr));    
       
   }  
}  


Indtast antallet af elementer:
5
Indtast elementerne i arrayet
1 4 3 6 8 2 6 7 9
Initial Array [ 1 4 3 6 8 2 6 7 9 ]
Opdateret array [ 4 3 6 8 2 6 7 9 1 ]


Java tag