Maison  >  Article  >  Java  >  Trier et rechercher des éléments en Java

Trier et rechercher des éléments en Java

WBOY
WBOYavant
2023-08-30 20:09:101208parcourir

Trier et rechercher des éléments en Java

Le tri et la recherche sont les opérations de base que nous pouvons effectuer sur les tableaux. Trier signifie réorganiser les éléments d'une liste ou d'un tableau donné par ordre croissant ou décroissant, tandis que rechercher signifie trouver un élément ou son index dans une liste.

Bien qu'il existe différents algorithmes disponibles pour effectuer ces opérations, dans cet article, nous utiliserons certains d'entre eux pour trier et rechercher des éléments en Java. Nous les étudierons un par un.

Méthode 1 : utilisez la méthode intégrée du tableau

Dans cette section, nous aborderons les méthodes suivantes qui aident à trier et à rechercher des éléments dans un tableau.

sort() - C'est une méthode statique de la classe Arrays qui trie le tableau passé en argument par ordre croissant.

Grammaire

Arrays.sort(nameOfarray);

binarySearch() - C'est aussi une méthode statique de la classe Arrays. Il accepte deux paramètres, le premier est le tableau dont les éléments doivent être recherchés et le second est l'élément que nous devons trouver dans ce tableau.

Il renvoie le numéro d'index de l'élément passé en argument.

Grammaire

Arrays.binarySearch(nameOfarray, element);

Exemple

import java.util.*;
public class Srch {
   public static void main(String args[]) {
      int araylist[] = {9, 3, 56, 0, -2, -6, 2, 1, 80};
      System.out.print("The given unsorted list: ");
      // for each loop that prints the original array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      Arrays.sort(araylist); 
      // method to sort given array
      System.out.println();
      System.out.print("The newly sorted list: ");
      // for each loop that prints the newly sorted array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      System.out.println();
      // method to search given element
      int position = Arrays.binarySearch(araylist, 1);
      if(position > -1) {
         System.out.print("Element is available at index: " + position);
      } else {
         System.out.print("Element is not available");
      }
   }
} 

Sortie

The given unsorted list: 9 3 56 0 -2 -6 2 1 80 
The newly sorted list: -6 -2 0 1 2 3 9 56 80 
Element is available at index: 3

Méthode 2 : Utilisez notre logique personnalisée

Trier à l'aide du tri à bulles

Algorithme

  • Étape 1 - Tout d'abord, déclarez et initialisez un tableau nommé "araylist" et une variable entière nommée "temp" pour stocker temporairement les éléments décalés.

  • Étape 2 - Utilisez deux boucles for pour comparer le i-ème élément de position avec le i + 1-ème élément. Créez un bloc if à l'intérieur de la deuxième boucle for pour vérifier quel élément est le plus grand, puis nous effectuons une opération de décalage pour réorganiser les éléments par ordre croissant.

  • Étape 3 - Maintenant, en utilisant chaque boucle, nous allons imprimer le tableau trié.

Exemple

public class Bubble {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int temp = 0; 
      System.out.print("The given unsorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }   
      for (int i = 0; i < araylist.length; i++) {     
         for (int j = i+1; j < araylist.length; j++) {     
            if(araylist[i] > araylist[j]) {    
               temp = araylist[i];    
               araylist[i] = araylist[j];    
               araylist[j] = temp;    
            }     
         }     
      }
      System.out.println();
      System.out.print("The newly sorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }     
   }     
}

Sortie

The given unsorted list: 9 3 56 0 2 1 80 
The newly sorted list: 0 1 2 3 9 56 80 

Recherche par recherche linéaire

Algorithme

  • Étape 1 - Tout d'abord, déclarez et initialisez un tableau appelé "araylist" et une variable entière appelée "searchElem" que nous rechercherons dans le tableau. Nous avons également besoin de deux variables entières "isFound" et "locate".

  • Étape 2 - Maintenant, créez une boucle for qui s'étendra jusqu'à la longueur du tableau. Dans cette boucle, utilisez un bloc if pour vérifier si "searchElem" existe dans le tableau. Si disponible, son index est stocké dans la variable "locate" et la variable "isFound" est incrémentée à 1.

  • Étape 3 - Ensuite, nous créons un bloc if else pour vérifier si la variable "isFound" passe à 1. S'il est égal à 1, cela signifie que l'élément a été trouvé et nous renvoyons l'index. Sinon, l'instruction du bloc else sera exécutée.

Exemple

public class Linear {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int searchElem = 0;
      int isFound = 0;
      int locate = 0;
      for(int i = 0; i < araylist.length; i++) {
         if(searchElem == araylist[i]) {
            isFound = 1;
            locate = i;
         } 
      }
      if(isFound == 1) {
         System.out.print("Element is available at index: " + locate);
      } else {
         System.out.print("Element is not available");
      }
   }
}

Sortie

Element is available at index: 3

Conclusion

Dans cet article, nous avons expliqué comment trier les éléments d'un tableau et effectuer une opération de recherche pour trouver un élément spécifique de ce tableau. Nous pouvons utiliser la méthode intégrée appelée "sort()" ou n'importe quel algorithme de tri et de recherche.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer