티스토리 뷰

https://www.fun-coding.org/DS&AL4-4.html

 

두개씩 짝지어 비교하여 더 작은 값을 오른쪽으로 옮기고 전체적으로 오른쪽으로 정렬한다.

시간 복잡도 : 최소값을 한번 찾는데 n-1, 찾은 최소값을 오른쪽부터 차례로 정렬하는데 n-1,

-> O(n^2)

 

Code

#include <iostream>
using namespace std;

#define size 10

int main() {

	int arr[size] = { 4,10,6,9,2,8,5,7,3,1 };

	cout << "정렬 전 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";

	for (int i = 0; i < size - 1; i++) { 
		for (int j = 0; j < size - i - 1; j++) {
			if (arr[j] >= arr[j + 1])           
				swap(arr[j], arr[j + 1]);
		}
	}
	cout << "\n정렬 후 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";
}

 

'프로그래밍 > 알고리즘' 카테고리의 다른 글

Quick Sort (퀵 정렬)  (0) 2019.08.03
Insertion Sort (삽입정렬)  (0) 2019.08.02
Seletion Sort (선택정렬)  (0) 2019.08.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함