자격증/정보처리기사_실기
버블정렬
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