ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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;
    }

    ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다.

    반응형
Designed by Tistory.