9 次に、リストの4番目のポイント(最後の要素)がリストの他のポイントよりも優れているかどうかを比較する必要があります。この場合、9は、その前のすべての要素(8、6、および3)よりも大きくなります。 リストの並べ替えに使用したアルゴリズムは次のとおりです。 - 最初の要素が並べ替えられます。
- 2番目の要素を左側の要素と比較します。
- この要素が左側の値より大きい場合、要素は同じ場所に残ります。それ以外の場合は、値を左に移動します。
- すべてのアイテムが順番に表示されるまで繰り返します。
これで並べ替えられた配列ができました。挿入の種類は、一度に1つのアイテムで並べ替えられます。この並べ替えアルゴリズムをJavaで実装する方法を見てみましょう 実行方法Javaでの挿入ソート 2つの値のうち高い方の値は、ソート機能が実行されるたびに右に1つの位置に挿入されます。 理論的には問題ありません。 、しかし、Javaでどのように実装されますか?それは良い質問です。学生の成績のリストに挿入してソートするクラスを書いてみましょう。 配列ライブラリを準備します始めましょう配列ライブラリをJavaプログラムにインポートします。並べ替えたら、このライブラリを使用してリストをコンソールに出力します。 decla並べ替えメソッドについてまず、リストを反復処理し、データを昇順>で並べ替えるメソッドを宣言します。 まず、入力配列内の要素の数を調べます。これにより、リスト内の各アイテムを通過するループを作成できます。リストから出るまでループするループを初期化します。 ループでは、キーと最後の変数の2つの変数を宣言しました。 Java >変数「key」は、現在注文している要素を追跡します。 「last」変数は、アイテムの左側に並べ替える必要のあるアイテムの数を追跡します。 プログラムは、小さい要素が見つかるまで、左側の各要素の「key」の値を比較します。 。これは、 Java"while"ループで発生します。 メイン関数を定義しますこれを実行するときコード、何も起こりません。確かに、私たちはまだ私たちの主な機能を定義していません。 int(数値の配列)のネットワークを定義するmain関数を定義します。このメイン関数は、これらの数字をソートするために宣言した insertSort()関数を使用します。エントリを宣言した後、このコードを貼り付けますSort Javaメソッド: mainメソッドで、並べ替える数値のリストを宣言しました。 sortNumbers というInsertionSort()メソッドをインスタンス化しました。このメソッドを使用して、番号のリストを昇順で並べ替えます。このメソッドは、「数字」ベクトルの値を変更します。値を格納するための個別の配列を宣言しませんでした。 次に、数値の配列を文字列に変換するArrays.toString()メソッド。< h2>試験の複雑さ 挿入の並べ替えの平均的なケースの複雑さはO( n ^ 2)。これは、アイテムが並べ替えられていない場合に発生します。 配列が並べ替えられると、ベストケースの複雑さが発生します。これにより、時間の複雑さがO(n)になります。実際、ある種の内部ループはこの場合、挿入はまったく実行されません。 最悪の場合、挿入はO、Äã‚Äãsort(n ^ 2)で行われます。これは、配列が昇順または降順の場合に発生します。そして、逆の順序でソートしたい(つまり、昇順から降順)。各要素と他のすべての要素の構成ents。 結論挿入の種類は、データを並べ替える効率的な方法です。 ortsは、リストの2番目から始まる値を比較します。この値が左側の値より大きい場合、リストは変更されません。それ以外の場合は、左側の要素が少なくなるまで値が移動します。 これで、Javaで独自の挿入ソートアルゴリズムを作成する準備が整いました。Javaの学習リソースをさらに探している場合は、 Java学習ガイド。 |