Heim  >  Artikel  >  Java  >  Elemente in Java sortieren und suchen

Elemente in Java sortieren und suchen

WBOY
WBOYnach vorne
2023-08-30 20:09:101208Durchsuche

Elemente in Java sortieren und suchen

Sortieren und Suchen sind die grundlegenden Operationen, die wir an Arrays ausführen können. Sortieren bedeutet, die Elemente einer bestimmten Liste oder eines Arrays in aufsteigender oder absteigender Reihenfolge neu anzuordnen, während Suchen das Finden eines Elements oder seines Index in einer Liste bedeutet.

Obwohl es verschiedene Algorithmen gibt, um diese Operationen auszuführen, werden wir in diesem Artikel einige davon verwenden, um Elemente in Java zu sortieren und zu suchen. Wir werden sie einzeln studieren.

Methode 1: Verwenden Sie die integrierte Methode des Arrays

In diesem Abschnitt besprechen wir die folgenden Methoden, die beim Sortieren und Suchen von Elementen in einem Array helfen.

sort() – Es handelt sich um eine statische Methode der Arrays-Klasse, die das als Parameter übergebene Array in aufsteigender Reihenfolge sortiert.

Grammatik

Arrays.sort(nameOfarray);

binarySearch() – Es ist auch eine statische Methode der Arrays-Klasse. Es akzeptiert zwei Parameter: Der erste ist das Array, dessen Elemente durchsucht werden müssen, und der zweite ist das Element, das wir in diesem Array finden müssen.

Es gibt die Indexnummer des als Argument übergebenen Elements zurück.

Grammatik

Arrays.binarySearch(nameOfarray, element);

Beispiel

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");
      }
   }
} 

Ausgabe

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

Methode 2: Verwenden Sie unsere benutzerdefinierte Logik

Sortieren mit Blasensortierung

Algorithmus

  • Schritt 1 – Deklarieren und initialisieren Sie zunächst ein Array mit dem Namen „araylist“ und eine Ganzzahlvariable mit dem Namen „temp“, um die verschobenen Elemente vorübergehend zu speichern.

  • Schritt 2 – Verwenden Sie zwei for-Schleifen, um das i-te Positionselement mit dem i + 1-ten Element zu vergleichen. Erstellen Sie einen if-Block innerhalb der zweiten for-Schleife, um zu überprüfen, welches Element größer ist, und führen Sie dann eine Verschiebungsoperation durch, um die Elemente in aufsteigender Reihenfolge neu anzuordnen.

  • Schritt 3 – Nun drucken wir mit jeder Schleife das sortierte Array.

Beispiel

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 + " ");
      }     
   }     
}

Ausgabe

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

Suche mit linearer Suche

Algorithmus

  • Schritt 1 – Deklarieren und initialisieren Sie zunächst ein Array namens „araylist“ und eine Ganzzahlvariable namens „searchElem“, nach der wir im Array suchen. Wir benötigen außerdem zwei Integer-Variablen „isFound“ und „locate“.

  • Schritt 2 – Erstellen Sie nun eine for-Schleife, die bis zur Länge des Arrays läuft. Verwenden Sie in dieser Schleife einen if-Block, um zu prüfen, ob „searchElem“ im Array vorhanden ist. Sofern verfügbar, wird sein Index in der Variablen „locate“ gespeichert und die Variable „isFound“ auf 1 erhöht.

  • Schritt 3 – Als nächstes erstellen wir einen if else-Block, um zu prüfen, ob die Variable „isFound“ auf 1 steigt. Wenn es gleich 1 ist, bedeutet dies, dass das Element gefunden wurde und wir den Index zurückgeben. Wenn nicht, wird die Anweisung im else-Block ausgeführt.

Beispiel

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");
      }
   }
}

Ausgabe

Element is available at index: 3

Fazit

In diesem Artikel haben wir besprochen, wie man Array-Elemente sortiert und eine Suchoperation durchführt, um ein bestimmtes Element dieses Arrays zu finden. Wir können die integrierte Methode „sort()“ oder einen beliebigen Sortier- und Suchalgorithmus verwenden.

Das obige ist der detaillierte Inhalt vonElemente in Java sortieren und suchen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen