8.26.2017

선택정렬

#include <stdio.h>

void main() {
        /*
        정렬 : 선택정렬, 버블정렬, 퀵정렬

        선택정렬 : 최고 낮은 값을 찾아서 앞에서부터 차례대로 쌓아주는 기법
        */
        int arr[] = { 5,72,3,1,92,7,25,19,13 };
        int min; //낮은 값을 갖는 변수
        int min_index; //낮은 값의 위치(인덱스)

        for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
                printf("%d ", arr[i]);
        }printf("\n");
        for (int i = 0; i < sizeof(arr) / sizeof(int) - 1; i++) {
                //기준값을 잡을 반복문
                min = arr[i];
                min_index = i;

                for (int k = i + 1; k < sizeof(arr) / sizeof(int); k++) {
                        //가장 낮은 값을 찾기 위한 반복문
                        if (arr[k] < min) {
                                min = arr[k];
                                min_index = k;
                        }
                }//end for(k)
                arr[min_index] = arr[i];
                arr[i] = min;

        }
        for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
                printf("%d ", arr[i]);
        }printf("\n");
}

댓글 없음:

댓글 쓰기