관리 메뉴

사적공간

버블정렬 본문

자격증/정보처리기사_실기

버블정렬

2sac 2024. 4. 16. 19:19

버블정렬은 이웃한 값을 비교해서 한 횟차를 완료함. 

원소의 개수 -1 만큼 비교해서 횟차를 돌림. 

끝값부터 결정됨. 

/* 버블정렬 */ 
#include<stdio.h>
main()
{
    int n,i,j,k;
    int data[5];
    n=-1;
    do
    {
        n++;
        scanf("%d", &data[n]); // n이 0부터 4까지 5개의 값을 입력받음. 
    } while(n<4);
    for(i=1; i<=4;i++){ // 값이 2개면 한 번만 비교하면 됨. 값이 5개면 네 번 비교하면 됨. 
        for(j=0;j<=4-i;j++) { // 0부터 끝까지 비교, 횟차를 반복할수록 끝값부터 결정됨. 
            if(data[j]> data[j+1]) { // 앞값과 뒷값을 비교해 앞값이 크면 교환, 0과 1, 1과 2, j와 j+1 비교 
                k=data[j];
                data[j]=data[j+1];
                data[j+1]=k;
            }
        }
    }

    for(int x =0; x<5;x++) // 배열 첨자 0부터 4까지 출력 
        printf("%d", data[x]);
}

7
2
6
4
5
24567

'자격증 > 정보처리기사_실기' 카테고리의 다른 글

시험후기  (0) 2024.04.29
개선된 버블정렬  (0) 2024.04.16
선택정렬  (0) 2024.04.16
보수 구하기  (0) 2024.04.09
가까운 수 구하기  (0) 2024.04.09