Heim  >  Artikel  >  Java  >  Java implementiert einen Halbsortierungsalgorithmus

Java implementiert einen Halbsortierungsalgorithmus

高洛峰
高洛峰Original
2017-01-17 13:24:061498Durchsuche

Die binäre Einfügungssortierung ist eine Verbesserung des Einfügungssortierungsalgorithmus. Während des Sortieralgorithmus werden Elemente kontinuierlich in die zuvor sortierte Reihenfolge eingefügt. Da die erste Hälfte eine sortierte Sequenz ist, müssen wir nicht nach dem Einfügepunkt suchen. Wir können die Halbsuchmethode verwenden, um die Suche nach dem Einfügepunkt zu beschleunigen.

public static void halfSort(int[] array) {
    int low, high, mid;
    int tmp, j;
    for (int i = 1; i < array.length; i++) {
      tmp = array[i];
      low = 0;
      high = i - 1;
      while (low <= high) {
        mid = low + (high - low) / 2;
        if (array[mid] > tmp)
          high = mid - 1;
        else
          low = mid + 1;
      }
      for (j = i - 1; j > high; j--) {
        array[j + 1] = array[j];
      }
      array[high + 1] = tmp;
    }
  }


Schematische Darstellung des Halbsortierungsalgorithmus:

Java implementiert einen Halbsortierungsalgorithmus

Das Obige ist die Zusammenfassung dieses Artikels. Das ist alles. Ich hoffe, es wird für alle hilfreich sein, den Halbierungssortierungsalgorithmus in Java zu lernen.

Weitere Artikel zur Java-Implementierung des Halbsortierungsalgorithmus finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn