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

高洛峰
リリース: 2017-01-17 13:24:06
オリジナル
1467 人が閲覧しました

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

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 サイトに注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!