ホームページ >Java >&#&チュートリアル >Javaはハーフソートアルゴリズムを実装します

Javaはハーフソートアルゴリズムを実装します

高洛峰
高洛峰オリジナル
2017-01-17 13:24:061514ブラウズ

バイナリ挿入ソートは、挿入ソート アルゴリズムの改良版であり、ソート アルゴリズム中に、以前にソートされたシーケンスに要素が継続的に挿入されます。前半はソートされたシーケンスであるため、挿入ポイントを順番に検索する必要はありません。半検索方法を使用すると、挿入ポイントの検索を高速化できます。

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


ハーフソートアルゴリズムの概略図:

Javaはハーフソートアルゴリズムを実装します

上記がこの記事の全内容であり、Java ハーフソートアルゴリズムを学習するすべての人に役立つことを願っています。

ハーフソートアルゴリズムの Java 実装に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。