본문 바로가기

알고리즘

[정렬] 선택정렬 개념정리 & 구현

◈ 개념


짝대기 -> 즉 기준이 있게 하고 최솟값을 가장 앞으로 이동시킨다. 그리고 짝대기를 오른쪽으로 한 칸 이동한다. (오름차순 정렬일 경우)



◈ 구현


#include <stdio.h>


int main() {


  int n;

  int data[100];

  

  scanf("%d",&n);

  for(int i=0; i<n; i++){

    scanf("%d",&data[i]);

  }

  

  for(int i=0; i<n; i++){

    int inx = i;

    for(int j=i; j<n; j++){

      if(data[inx] > data[j]){

        inx = j;

      }

    }

    int temp;

    temp = data[i];

    data[i] = data[inx];

    data[inx] = temp;

  }

  

  

  for(int i=0; i<n; i++){

    printf("%d ",data[i]);

  }

   

  return 0;

}