-
[C++] 버블 정렬(Bubble Sort)C_C++ 프로그래밍/C_C++ 프로그래밍 2019. 4. 1. 22:49
버블 정렬은 인접한 원소들을 교환하며, 이 모습이 흡사 거품들이
뾰로록 일어나는 것과 같다고 하여, Bubble Sort라고 불립니다.
(교환 정렬이라고도 불립니다. Exchange Sort)
...더보기이해
E[5] = {95, 75, 85, 100, 75}이며
이를 오름차순으로 정렬한다면.
(95, 75), 85, 100, 50 => 75, 95, 85, 100, 50
75, (95, 85), 100, 50 => 75, 85, 95, 100, 50
75, 85, (95, 100), 50 => 75, 85, 95, 100, 50
75, 85, 95, (100, 50) => 75, 85, 95, 50, 100
자, 여기에서 마지막 요소가 배열의 최댓값으로 들어갔습니다.
(75, 85), 95, 50, 100 => 75, 85, 95, 50, 100
75, (85, 95), 50, 100 => 75, 85, 95, 50, 100
75, 85, (95, 50), 100 => 75, 85, 50, 95, 100
자, 여기에서 마찬가지로 마지막-1 요소가 배열의 두 번째로 큰 값이 들어갔습니다.
이런 식으로 반복하여.
50, 75, 85, 95, 100이 되는 것입니다.
#include<iostream> using namespace std; int main(){ int size; cin >> size; int *arr = new int[size]; for(int i = 0; i < size; i++) cin >> arr[i]; for(int i = 0; i < size-1; i++){ for(int j = 0; j < size-1-i; j++){ if(arr[j] > arr[j+1]){ int tmp; tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } for(int i = 0; i < size; i++) cout << arr[i] << ' '; return 0; }
※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다.
반응형'C_C++ 프로그래밍 > C_C++ 프로그래밍' 카테고리의 다른 글
[C++] next_permutation을 사용한 조합 만들기 (3) 2019.04.21 [C++] 삽입 정렬 (Insertion Sort) (0) 2019.04.01 [C++] 선택정렬(Selected Sort) (0) 2019.04.01 [C++] pair sort (0) 2019.03.21