c·c++/c 프로그래밍

선택정렬 - 개량형

바로이순간 2012. 5. 11. 12:52

#include <stdio.h>

void selSort(int a[], int n) {

  int i, j;

  int minx;

  int temp;

  for(i=0; i<n-1; ++i)  {

    minx = i;                  // i 의 위치부터 찾기 시작한다.

    for(j=i+1; j<n; ++j) {   // 최소값 탐색

      if(a[j] < a[minx]) minx = j;

    }

    // 교환: 최소값과 i의 값을 서로 바꾸어 준다.

    temp = a[i]; a[i] = a[minx]; a[minx] = temp;

  }

}


int main(void) {

  int i=0, n;

  int data[100];


  printf("입력할 개수를 넣으시오 ");

  scanf("%d", &n);

  for(i=0;i<n;++i) scanf("%d", &data[i]);

  selSort(data, n);

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

        

  return 0;

}


입력은 10

3 4 2 1 11 8 7 5 9 6

이라고 주어 보자.



'c·c++ > c 프로그래밍' 카테고리의 다른 글

피보나치 수열  (0) 2012.05.11
분수의 반복구간 구하기  (0) 2012.05.11
세수를 크기 순으로 출력하기  (0) 2012.05.10
분수의 덧셈  (0) 2012.05.09
조합하여 숫자구하기 코드 질문이요!  (0) 2012.05.08