자료구조 - sort (Selection Sort)

code++·2024년 10월 12일

Selection Sort

정의 : 전체 배열에서 가장 작은 요소를 찾고, 그 요소를 첫번째 요소와 교환하는 정렬.

  • 시간 복잡도 : O(n^2)
package javastudy;

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


    for (int i = 0; i < n - 1; i++) {
      int min = i;
      for (int j = i+1; j < n; j++) {
        if (a[min] > a[j]) {
          min = j;
        }
      }
        if (min != i) {
          int tmp = a[i];
          a[i] = a[min];
          a[min] = tmp;
        }

    }
  }

  public static void printArray(int a[]) {
    for (int num : a) {
      System.out.print(num+" ");
    }
  }

  public static void main(String[] args) {
    int A[] = {8, 5, 6, 2, 4};
    System.out.println("정렬 전");
    printArray(A);
    System.out.println("정렬 후");
    ss(A);
    printArray(A);

  }

}
profile
일상

0개의 댓글