본문 바로가기

C

[C언어] 선택 정렬 (Selection Sort)

반응형

선택 정렬(selection sort)은 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 정렬 방식이다.

 

#include<stdio.h>

int main(){

   int nums[] = {50, 100, 10, 20, 90, 40, 60, 70, 80, 30};
   int size = sizeof(nums) / sizeof(nums[0]);

   for(int i = 0; i < size - 1; ++i){
      int tmp = nums[i];
      int index = i;

      for(int j = i + 1; j < size; ++j){
         if(tmp > nums[j]){
            tmp = nums[j];
            index = j;
         }
      }
      tmp = nums[i];
      nums[i] = nums[index];
      nums[index] = tmp;

      for(int j = 0; j < size; ++j){
         printf("%5d ", nums[j]);
      }
      printf("\n");
   }

   for(int i = 0; i < size; ++i)
      printf("%d ", nums[i]);
   printf("\n");

   return 0;
}

 

반응형