ホームページ > Java > &#&チュートリアル > ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。

ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。

WBOY
リリース: 2024-02-18 10:52:06
オリジナル
483 人が閲覧しました

ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。

Java 選択ソート方法のコード作成ガイドと例

選択ソートは、シンプルで直観的なソート アルゴリズムです。アイデアは、毎回ソートされていない要素から選択することです。すべての要素が並べ替えられるまで、要素が交換されます。この記事では、選択項目の並べ替えのためのコード作成ガイドを提供し、特定の Java サンプル コードを添付します。

  1. アルゴリズム原理
    選択ソートの基本原理は、ソート対象の配列をソート済み部分と未ソート部分に分割し、その都度未ソート部分から最小 (または最大) の要素を選択することです。ソートされたセクションの最後に配置されます。すべての要素が並べ替えられるまで、上記の手順を繰り返します。
  2. コード実装手順
    (1) 未ソート部分の開始位置を決定します。初期値は 0 です。
    (2) 未ソート部分から最小 (または最大) 要素のインデックスを見つけます。部品番号;
    (3) 未分類部品の最初の要素を最小 (または最大) の要素と交換します;
    (4) 未分類部品の開始位置を 1 つ戻し、手順 2 と手順を繰り返します。すべての要素がソートされるまで 3 回。
  3. Java サンプル コード

以下は、Java 言語で記述された選択ソート メソッドのサンプル コードです。

public class SelectionSort {
    public static void selectionSort(int[] arr) {
        int n = arr.length;

        for (int i = 0; i < n - 1; i++) {
            // 找到未排序部分的最小元素索引
            int minIndex = i;
            for (int j = i + 1; j < n; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }

            // 将未排序部分的最小元素与未排序部分的首位元素交换
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }
    }

    public static void main(String[] args) {
        int[] arr = {64, 25, 12, 22, 11};
        selectionSort(arr);

        System.out.println("排序后的数组:");
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
ログイン後にコピー

上記のサンプル コードでは、最初に定義します。 selectionSort メソッド。選択ソート アルゴリズムを実装するために使用されます。次に、ソート対象の配列 arrmain メソッドで作成し、ソートのために selectionSort メソッドに渡します。最後に、配列をループすることによって、ソートされた結果が出力されます。

  1. 概要
    選択ソートは単純ですが非効率なソート アルゴリズムであり、その時間計算量は O(n^2) です。大規模なデータの並べ替えには適していませんが、選択並べ替えのアイデアと実装は、他の並べ替えアルゴリズムの原理を理解するのにも役立ちます。上記のコード例を通じて、読者が選択ソートの実装を理解し、それを実際のプロジェクトに柔軟に適用できるようにしたいと考えています。

以上がガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート