문제

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 버블정렬입니다.

입력설명

첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다. 두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.

출력설명

오름차순으로 정렬된 수열을 출력합니다.

입력예제

6
13 23 11 7 5 15

출력예제

5 7 11 13 15 23


#include <stdio.h>
using namespace std;

int main(){
	freopen("input.txt", "rt", stdin);
	int n, i, j, temp, number[101];
	scanf("%d", &n);
	
	for(i=0; i<n; i++){
		scanf("%d", &number[i]);
	}
	
	for(i=0; i<n-1; i++){
		for(j=0; j<n-i-1; j++){
			if(number[j] > number[j+1]){
				temp = number[j];
				number[j] = number[j+1];
				number[j+1] = temp;
			}
		}
	}
	
	for(i=0; i<n; i++){
		printf("%d ", number[i]);
	}
	
	
	return 0;
}

버블정렬은 선택정렬보다 코드짜기가 더 쉬운듯한 느낌이 들어요. 
항상 왜 버블일까 생각하는데 전 전혀 거품의 모습처럼 안느껴지는데 어떠신가요??

'알고리즘 > it 취업을 위한 알고리즘 문제풀이' 카테고리의 다른 글

36. 삽입정렬  (0) 2021.05.21
35. Special Sort  (2) 2021.05.21
33. 3등의 성적은?  (0) 2021.05.20
32. 선택정렬  (0) 2021.05.20
31. 탄화수소 질량  (0) 2021.05.20

+ Recent posts