버블 정렬 알고리즘을 이용한 C 언어 프로그램 예제
추천 자료: ASP.NET Core 인증 및 권한 부여
버블 정렬은 간단하면서도 효과적인 정렬 알고리즘 중 하나입니다. 이 알고리즘은 인접한 원소들을 비교하여 필요한 경우 교환하는 과정을 반복함으로써 배열을 정렬합니다. 이 글에서는 C 언어를 사용한 버블 정렬 알고리즘 예제를 소개합니다.
헤더 파일 및 매크로 정의
첫 번째 단계로, 필요한 헤더 파일을 포함하고 배열의 크기를 정의하는 매크로를 작성합니다.
#include <stdio.h>
#define SIZE 5
main 함수 및 변수 선언
main 함수를 작성하고, 정수 배열과 임시 변수를 선언합니다.
int main() {
int arr[SIZE], temp;
사용자 입력
사용자로부터 배열에 들어갈 5개의 정수를 입력받습니다.
printf("5개의 정수를 입력하세요: ");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
}
버블 정렬 알고리즘 구현
버블 정렬 알고리즘을 사용하여 입력받은 정수들을 오름차순으로 정렬합니다.
for (int i = 0; i < SIZE - 1; i++) {
for (int j = 0; j < SIZE - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
- 정렬된 배열 출력
정렬된 배열을 출력하여 사용자에게 결과를 보여줍니다.
printf("정렬된 배열: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
전체 소스는 다음과 같습니다.
코드: bubble_sort_size.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5
int main(void)
{
int arr[SIZE], temp;
printf("5개의 정수를 입력하세요:\n");
for (int i = 0; i < SIZE; i++)
{
scanf("%d", &arr[i]);
}
for (int i = 0; i < SIZE - 1; i++)
{
for (int j = 0; j < SIZE - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("정렬된 배열: ");
for (int i = 0; i < SIZE; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
5개의 정수를 입력하세요:
3
2
1
4
5
정렬된 배열: 1 2 3 4 5
이 예제를 통해 버블 정렬 알고리즘을 사용하여 C 언어 프로그램을 작성하는 방법을 배웠습니다. 이 코드는 5개의 정수를 입력받아 오름차순으로 정렬하는 간단한 프로그램입니다. 버블 정렬 알고리즘은 코드가 짧고 이해하기 쉬워 초보자에게 적합한 정렬 알고리즘입니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!