알고리즘/BOJ
[BOJ] 2750. 수 정렬하기 (Bubble Sort)
hyerann
2019. 4. 27. 22:29
https://www.acmicpc.net/problem/2750
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
#include <iostream>
#include <ios>
using namespace std;
int N, numbers[1000];
void bubbleSort(int cnt);
void print();
int main() {
cin.tie(0); ios::sync_with_stdio(0);
cin >> N;
for (int i = 0; i < N; i++) {
cin >> numbers[i];
}
bubbleSort(0);
return 0;
}
void bubbleSort(int cnt) {
if (cnt == N) { // 정렬 끝
print();
return;
}
for (int i = 1; i < N - cnt; i++) {
if (numbers[i - 1] > numbers[i]) {
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
bubbleSort(cnt + 1);
}
void print() {
for (int i = 0; i < N; i++) {
cout << numbers[i] << "\n";
}
}