Maison > Java > javaDidacticiel > Programme Java pour l'algorithme d'ordre inverse pour la rotation à droite du tableau

Programme Java pour l'algorithme d'ordre inverse pour la rotation à droite du tableau

王林
Libérer: 2023-08-28 22:05:05
avant
870 Les gens l'ont consulté

Un tableau est une structure de données linéaire utilisée pour stocker un groupe d'éléments avec des types de données similaires. Il stocke les données de manière séquentielle. Une fois que nous avons créé un tableau, nous ne pouvons pas modifier sa taille, c'est-à-dire qu'il peut stocker un nombre fixe d'éléments.

Cet article vous aidera à comprendre l'algorithme d'inversion et nous créerons un programme Java dans lequel nous créons un tableau et effectuons une rotation correcte en appliquant l'algorithme d'inversion.

Rotation à droite du tableau

Comprenons le terme « rotation à droite » dans le contexte d'un tableau.

En rotation à droite d'un tableau, nous décalons simplement les éléments du tableau vers notre droite jusqu'au nombre de rotations spécifié.

Exemple 1

Programme Java pour lalgorithme dordre inverse pour la rotation à droite du tableau La traduction chinoise de

Exemple 2

est :

Exemple 2

Programme Java pour lalgorithme dordre inverse pour la rotation à droite du tableau

Dans l'exemple ci-dessus, lorsque nous faisons pivoter le tableau 2 fois, les éléments commençant à partir de la 0ème position seront déplacés vers la 2ème position et au-delà, tandis que les 2 derniers éléments seront remplis jusqu'aux deux premières positions.

Lorsque nous faisons pivoter le tableau 4 fois, les éléments partant de la 0ème position seront déplacés vers la 4ème position et au-delà.

Syntaxe de déclaration des tableaux

Data_Type nameOfarray[]; 
// declaration
Or,
// declaration with size
Data_Type nameOfarray[] = new Data_Type[sizeofarray]; 
Copier après la connexion

Nous pouvons utiliser n’importe laquelle des syntaxes ci-dessus dans notre programme.

Algorithme d'inversion

L'approche de l'algorithme d'inversion est la suivante −

  • Étape 1 - Tout d'abord, nous inversons le tableau donné du premier index au dernier index.

  • Étape 2 - En avançant, nous inversons le tableau donné du premier index à la position rt - 1, où rt est le nombre de rotations requis.

  • Step3 - Dans la dernière étape, nous inverserons le tableau restant, c'est-à-dire de rt au dernier index.

Notez que pour déplacer les éléments du tableau, nous effectuerons l'échange entre eux.

Programme de rotation à droite utilisant l'algorithme d'inversion

Nous allons mettre notre logique dans une méthode définie par l'utilisateur. Discutons de la façon dont nous pouvons créer une méthode définie par l'utilisateur.

Syntaxe

accessSpecifier nonAccessModifier return_Type nameOfmethod(Parameters) {
   // your code will come here
}
Copier après la connexion
  • accessSpecifier- Il est utilisé pour définir l'accessibilité de la méthode. Elle peut être publique, protégée, par défaut et privée.

  • .
  • nonAccessModifier - Il présente des fonctionnalités ou un comportement supplémentaires d'une méthode telle que statique et finale.

  • return_Type - Le type de données qu'une méthode va renvoyer. Nous utilisons le mot-clé void lorsque la méthode ne renvoie rien.

  • nameOfmethod - Nom de la méthode.

  • parameters - Il contient le nom de la variable suivi du type de données.

La traduction chinoise de

Exemple

est :

Exemple

public class Rotation {
   public void rev(int rot_arr[], int first, int last) {
      while(first < last) {
         int temp = rot_arr[first];
         rot_arr[first] = rot_arr[last];
         rot_arr[last] = temp;
         first++;
         last--;
      }
   }
   public int[] rotates(int rot_arr[], int rt) {
      rt = rt % rot_arr.length;
      rev(rot_arr, 0, rot_arr.length - 1);
      rev(rot_arr, 0, rt - 1);
      rev(rot_arr, rt, rot_arr.length - 1);
      return rot_arr;
   }
   public static void main(String[] args) {
      Rotation obj = new Rotation(); 
      int rot_arr[] = {5, 8, 2, 4, 7, 1};
      int rt = 4;
      System.out.print(" The given array is: ");
      for(int i = 0; i < rot_arr.length; i++) {
         System.out.print(rot_arr[i] + " ");
      }
      obj.rotates(rot_arr, rt);
      System.out.println();
      System.out.print(" The given array after right rotation is: ");
      for(int i = 0; i < rot_arr.length; i++) {
         System.out.print(rot_arr[i] + " ");
      }
   }
}
Copier après la connexion

Sortie

 The given array is: 5 8 2 4 7 1 
 The given array after right rotation is: 2 4 7 1 5 8 
Copier après la connexion

Dans le code ci-dessus, nous avons créé une classe appelée « Rotation », dans laquelle nous avons défini deux méthodes « rev » et « rotates » avec des paramètres. La méthode « rev » est utilisée pour échanger des éléments et « rotates » est utilisée pour appliquer la logique de l'algorithme d'ordre inverse. Dans la méthode main(), nous avons créé un objet de classe 'Rotation' nommé 'obj' et avons utilisé l'objet pour appeler la méthode 'rotates' et avons transmis deux paramètres.

Conclusion

Dans cet article, nous avons appris ce qu'est la bonne rotation et discuté de l'algorithme d'inversion. Nous avons écrit un programme Java pour la rotation à droite d'un tableau en utilisant l'algorithme d'inversion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal