티스토리 뷰

 C언어 프로그래밍은 물론 그 이외의 언어에서도 정렬알고리즘의 사용빈도는 매우 높습니다. 왜냐하면 사용자로 부터 입력받은 데이터는 정렬이되지 않은 상태이므로 가장 최우선시 되어야할 부분이 '정렬'입니다.

 '정렬'를 위한 알고리즘은 여러가지가 있지만 가장 많이 이용되는 것이 버블 정렬선택정렬입니다. 여기서 알고리즘이란 쉽게 생각하면 어떤 문제를 해결하기 위한 과정이나 절차를 의미하며 쉽게 말하면 작업을 위한 순서정도로 생각하시면 편합니다.

 오늘은 정렬알고리즘 중에 가장 사용빈도가 높고 쉬운 버블정렬에 대해 소개하고자 합니다.

[코드]

#include <stdio.h>
 
int main(void){
	int array[10] ={21, 65, 30, 54, 87, 98, 65, 78, 54,21}; // 비교하고자 하는 숫자들의 변수를 배열로 선언.
	int i, j, temp;
	// 버블알고리즘을 사용하여 오름차순 정리, 내림차순 정리를 할 수 있다.
	// 비교하고자 하는 숫자들을 반복문을 이용하여 비교한다.
 
	for( j = 9 ; j > 0 ; j-- ){ 
		for( i = 0 ; i < j ; i++){
			ifarray[i] > array[i+1] ){
				// swap : array[i] & array[i+1]
				temp = array[i];
				array[i]= array[i+1];
				array[i+1]=temp;
			}
		}
	}
	for( i = 0 ; i<10 ; i++ ){
		printf("%d\n"array[i]);
	}
	return 0;
} 

 버블 정렬은 데이터를 하나하나씩 비교하면서 오름차순 또는 내림차순으로 데이터를 정렬하는 방식이며 위에 그림과 같이 반복문을 통해 입력받은 데이터를 하나하나씩 정렬해나가는 방식입니다.

선택정렬 바로가기>>>

※공감은 블로거에게 큰힘이 됩니다.

댓글