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
- Start
- Deklarer et array.
- Initialiser arrayet
- Deklarer en variabel, der gemmer elementet ved det første indeks før løkken.
- Brug en for-løkke til at iterere gennem hvert element i arrayet.
- Skift nu hvert element til venstre.
- Nu vil det sidste element i det ændrede array være startelementet.
- 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
- Start
- Deklarer et array.
- Initialiser arrayet
- Deklarer en anden variabel for at gemme det første element i arrayet.
- Brug en for-løkke til at bytte hvert element i arrayet.
- I hver iteration skift hvert element med det første element.
- Fortsæt denne udskiftning af elementer i hver iteration indtil slutningen af løkken.
- Vis det opdaterede array.
- 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 ]