버블 정렬은 인접한 원소들을 교환하며, 이 모습이 흡사 거품들이
뾰로록 일어나는 것과 같다고 하여, 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 |
댓글