본문 바로가기

공부/알고리즘

버블 정렬 (Bubble Sort)

●  코드

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
using ll = long long;
using ii = pair<int, int>;

int main()
{
	// 입력
	int N;
	cin >> N;
	vector<int>arr(N);
	for (int i = 0; i < N; i++)
		cin >> arr[i];

	// 버블 정렬
	for (int i = 0; i < N; i++)
	{
		for (int j = i + 1; j < N; j++)
		{
			if (arr[i] > arr[j])
				swap(arr[i], arr[j]);
		}
	}

	// 출력
	for (int i = 0; i < N; i++)
		cout << arr[i] << "\n";
	return 0;
}

 

●  결과 화면

 

●  시간복잡도 : O(N^2)

 

●  BOJ 문제 : 2750 수 정렬하기

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

'공부 > 알고리즘' 카테고리의 다른 글

확장 유클리드 호제법 (Extended Euclidean Algorithm)  (1) 2023.02.16
백트래킹 (Backtracking)  (0) 2022.07.10
카운팅 정렬 (Counting Sort)  (0) 2022.07.09
병합 정렬 (Merge Sort)  (0) 2022.07.09
삽입 정렬 (Insertion Sort)  (0) 2022.07.08