[문제 설명]

오름차순 삽입 정렬은 '정렬된 데이터 셋에 뒤쪽에서 부터 원소를 하나씩 삽입하여 순서에 맞는 위치로 찾아가며 정렬하는 방식'이다.

이번 문제는 미리 작성된 코드를 보고 빈 칸에 들어갈 코드를 작성하는 것이다.

이 프로그램은 선택 정렬을 구현한 것이며, 실행 결과는 오름차순으로 정렬된다.

 

[출력]

오름차순으로 정렬된 데이터가 출력된다.

 

[입력예시]

5

1

3

2

5

4

[출력예시]

1

2

3

4

5

 

[코드]

#include <stdio.h>
int a[10001];
int n, i, j, temp, key;
int main() {
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    for (i = 2; i <= n; i++)
    {
        key = a[i];
        for (j = i - 1; j >= 1 && a[j] >= key; j--)
        {
            a[j + 1] = a[j];
        }
        a[j + 1] = key;
    }

    for (i = 1; i <= n; i++)
        printf("%d\n", a[i]);
    return 0;
}

 

[문제 설명]

오름차순 선택 정렬은 '가장 작은 원소를 찾아 첫번째 위치로 옮기고, 남은 원소를 또 탐색하여 그 다음 작은 원소를 찾아 두번째 위치로 옮기고, ... 이런식으로 정렬하는 방식'이다.

이번 문제는 미리 작성된 코드를 보고 빈 칸에 들어갈 코드를 작성하는 것이다.

이 프로그램은 선택 정렬을 구현한 것이며, 실행 결과는 오름차순으로 정렬된다.

[출력]

오름차순으로 정렬된 데이터가 출력된다.

 

[입력]

5

1

3

2

5

4

[출력]

1

2

3

4

5

 

[코드]

#include<stdio.h>
int a[10001];
int n, i, j, temp, min;
int main() {
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    for (i=1; i<n; i++) {
        min=i;
        for (j=i+1; j<=n; j++) {
			if (a[min] > a[j])
                min = j;
        }
        temp = a[i];
        a[i] = a[min];
        a[min] = temp;
    }
    for (i=1; i<=n; i++)
        printf("%d\n", a[i]);
    return 0;
}

[문제 설명]

버블 정렬은 '인접한 두 원소를 검사하여 자리를 바꿔가며 정렬하는 방식'이다.

이번 문제는 미리 작성된 코드를 보고 빈 칸에 들어갈 코드를 작성하는 것이다.

이 프로그램은 버블 정렬을 구현한 것이며, 실행 결과는 오름차순으로 정렬된다.

 

[출력]

오름차순으로 정렬된 데이터가 출력된다.

 

[입력예시]

5

1

3

2

5

4

[출력예시]

1

2

3

4

5

 

[코드]

#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
    scanf("%d", &n);
    for (i=1; i<=n; i++)
        scanf("%d", &a[i]);

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

 for (j = 1; j < n;j++)
        {
            if (a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }

    for (i = 1; i <= n; i++)
        printf("%d\n", a[i]);
    return 0;
}

 

+ Recent posts