logo

Javaでの選択ソート

選択ソートを使用して配列要素をソートする Java プログラムを作成できます。選択ソートアルゴリズムでは、最下位の要素を検索し、適切な位置に配置します。現在の要素を次に小さい番号と交換します。

選択ソート

選択の並べ替えはどのように機能しますか?

選択ソートアルゴリズムは非常に単純な方法で機能します。指定された配列に対して 2 つのサブ配列を維持します。

隠しアプリ
  • 部分配列はすでにソートされています。
  • 2 番目の部分配列はソートされていません。

選択ソートを繰り返すたびに、ソートされていない部分配列から要素が選択され、ソートされた部分配列に移動されます。

es5 と es6
 arr[] = 25 35 45 12 65 10 // Find the minimum element in arr[0...5] and place it at beginning. 10 25 35 45 12 65 // Find the minimum element in arr[1...5] and place it at beginning of arr[1...5] 10 12 25 35 45 65 // Find the minimum element in arr[2...5] and place it at beginning of arr[2...5] No, you can see that the array is already sorted. 10 12 25 35 45 65 

時間計算量

最高: ?(n^2)
平均: ?(n^2)
最悪: O(n^2)

空間の複雑さ

○(1)

選択ソート Java の例

 public class SelectionSortExample { public static void selectionSort(int[] arr){ for (int i = 0; i <arr.length - 1; i++) { int index="i;" for (int j="i" + < arr.length; j++){ if (arr[j] arr[index]){ lowest } smallernumber="arr[index];" arr[index]="arr[i];" arr[i]="smallerNumber;" public static void main(string a[]){ int[] arr1="{9,14,3,2,43,11,58,22};" system.out.println('before selection sort'); for(int i:arr1){ system.out.print(i+' '); system.out.println(); selectionsort(arr1); sorting array using sort system.out.println('after pre> <p>Output:</p> <pre> Before Selection Sort 9 14 3 2 43 11 58 22 After Selection Sort 2 3 9 11 14 22 43 58 </pre> <h2>Selection Sort in Java (Another way)</h2> <p>You can also use a method where array is not predefined. Here, user has to put the elements as input.</p> <p>In the following Java program, we ask user to enter the array elements or number, now compare the array&apos;s element and start swapping with the variable temp. Put the first element in the temp and the second element in the first, and then temp in the second number and continue for the next match to sort the whole array in ascending order.</p> <pre> import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print('sorting array using selection sort technique..
'); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print('now the after sorting is :
'); system.out.print(arr[i]+ ' '); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;></pre></arr.length>

Java での選択ソート (別の方法)

配列を事前定義しない方法も使用できます。ここで、ユーザーは要素を入力として入力する必要があります。

次の Java プログラムでは、ユーザーに配列の要素または数値を入力するよう求めます。次に、配列の要素を比較して、変数 temp との交換を開始します。最初の要素を temp に入れ、2 番目の要素を最初の番号に入れ、次に temp を 2 番目の番号に入れ、次の一致まで続けて、配列全体を昇順で並べ替えます。

 import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print(\'sorting array using selection sort technique..
\'); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print(\'now the after sorting is :
\'); system.out.print(arr[i]+ \' \'); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;>