Maison  >  Article  >  Java  >  Tri Shell en Java

Tri Shell en Java

WBOY
WBOYoriginal
2024-08-30 15:32:33383parcourir

Le tri shell est un algorithme permettant de trier les nombres ou les tableaux donnés à l'aide d'un langage de programmation Java. Il est basé sur l'algorithme de tri par insertion pour trier les éléments selon les besoins. Il s'agit d'un élément de tri utilisant des nombres divisés et comparant des éléments éloignés les uns des autres. Il s'agit d'un algorithme permettant de définir les éléments par ordre croissant ou décroissant à l'aide du langage Java. Il s'agit d'un tableau divisé dans un élément qui compare un élément à un autre élément distinct à l'aide de Java. Il s’agit d’une procédure de tri permettant de comparer deux éléments éloignés l’un de l’autre. Le tri Shell est une généralisation de la méthode de tri par insertion pour organiser les éléments d'un tableau.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe

La syntaxe de tri du shell utilisant Java est ci-dessous.

int array_length = shell_array.length;
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2)
{
int j, i;
for ( i = elemnt_gap; i < array_length; i += 1)
{
int temprary_elemnt = shell_array[i];
for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap)
shell_array[j] = shell_array[j - elemnt_gap];
shell_array[j] = temprary_elemnt;
}
}

Description :

  • Le « array_length » est la longueur du tableau donné pour le tri du shell.
  • Vous pouvez créer un écart entre deux éléments en utilisant la variable « elemnt_gap ».
  • Utilisez « boucle for » pour parcourir la variable dans l'élément du tableau.
  • Le « temprary_elemnt » est utilisé pour trier les éléments du tableau.
  • Ensuite, vous pouvez commencer le tri des coquilles par ordre croissant.

Comment fonctionne le tri Shell en Java ?

  • Créez une classe primaire en Java.
public class Shell{ … }
  • Créer une méthode pour le tri du shell avec une variable de tableau.
int shellSort(int shell_array[]) { … }
  • Créez la longueur du tableau pour le tableau requis donné.
int array_length = shell_array.length;

Faites un espace entre deux éléments pour trier les éléments du tableau.

for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
write shell sort algorithm here…
}

Placez l'algorithme de tri du shell à l'intérieur de la « boucle for ».

Cet algorithme organise les éléments du tableau sous forme de tableau. Le plus petit élément est placé sur le côté gauche de la colonne et le plus grand nombre est placé sur le côté droit de la colonne.

for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
int j, i;
for ( i = elemnt_gap; i < array_length; i += 1) {
int temprary_elemnt = shell_array[i];
int j;
for (j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap)
shell_array[j] = shell_array[j - elemnt_gap];
shell_array[j] = temprary_elemnt;
}
}
return 0;

Créez la méthode principale et renvoyez l'élément de tri.

public static void main(String args[]) {
int shell_array[] = { 1, 4, 5, 2, 3 };
Shell shell = new Shell();
shell.shellSort(shell_array);
System.out.println("shell sort elements are: ");
int array_length = shell_array.length;
for (int i = 0; i < array_length; ++i)
System.out.print(shell_array[i] + " ");
System.out.println();
}

Exemples

Voici les différents exemples :

Exemple n°1 : valeurs numériques uniques

Code :

import java.util.Arrays;
public class Shell {
int shellSort(int shell_array[]) {
int array_length = shell_array.length;
int j, i;
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
for (i = elemnt_gap; i < array_length; i += 1) {
int temprary_elemnt = shell_array[i];
for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap)
shell_array[j] = shell_array[j - elemnt_gap];
shell_array[j] = temprary_elemnt;
}
}
return 0;
}
public static void main(String args[]) {
int shell_array[] = { 8, 1, 4, 5, 2, 6, 3, 9, 7};
System.out.println("given array elements are : ");
System.out.println(Arrays.toString(shell_array));
Shell shell = new Shell();
shell.shellSort(shell_array);
System.out.println("shell sort elements are : ");
int array_length = shell_array.length;
for (int i = 0; i < array_length; ++i)
System.out.print(shell_array[i] + " ");
}
}

Sortie :

Tri Shell en Java

Exemple n°2 : Valeurs numériques doubles

Code :

import java.util.Arrays;
public class Shell {
int shellSort(int shell_array[]) {
int array_length = shell_array.length;
int j, i;
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
for (i = elemnt_gap; i < array_length; i += 1) {
int temprary_elemnt = shell_array[i];
for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap)
shell_array[j] = shell_array[j - elemnt_gap];
shell_array[j] = temprary_elemnt;
}
}
return 0;
}
public static void main(String args[]) {
int shell_array[] = { 81, 17, 44, 58, 23, 69, 32, 90, 75};
System.out.println("given array elements are : ");
System.out.println(Arrays.toString(shell_array));
Shell shell = new Shell();
shell.shellSort(shell_array);
System.out.println("shell sort elements are : ");
int array_length = shell_array.length;
for (int i = 0; i < array_length; ++i)
System.out.print(shell_array[i] + " ");
}
}

Sortie :

Tri Shell en Java

Exemple n°3 : Plusieurs valeurs numériques

Code :

import java.util.Arrays;
public class Shell {
int shellSort(int shell_array[]) {
int array_length = shell_array.length;
int j, i;
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
for (i = elemnt_gap; i < array_length; i += 1) {
int temprary_elemnt = shell_array[i];
for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap)
shell_array[j] = shell_array[j - elemnt_gap];
shell_array[j] = temprary_elemnt;
}
}
return 0;
}
public static void main(String args[]) {
int shell_array[] = { 888, 1, 44, 5573, 24, 6, 543, 901, 7000};
System.out.println("given array elements are : ");
System.out.println(Arrays.toString(shell_array));
Shell shell = new Shell();
shell.shellSort(shell_array);
System.out.println("shell sort elements are : ");
int array_length = shell_array.length;
for (int i = 0; i < array_length; ++i)
System.out.print(shell_array[i] + " ");
}
}

Sortie :

Tri Shell en Java

Description :

  • Vous pouvez voir les multiples types de valeurs numériques donnés.
  • Le tri Shell crée une différence entre les éléments.
  • Ensuite, triez le tableau par ordre croissant.

Conclusion

  • Le tri shell en Java permet d'organiser les éléments du tableau selon les besoins de l'utilisateur.
  • Il rend les applications Web triées, simples et compréhensibles.
  • Le tri shell organise les données sans complexité et crée une application conviviale.

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!

Déclaration:
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