코딩뚠뚠

[기본문제풀이] bubble_sort 본문

알고리즘 문제풀이/기본문제풀이

[기본문제풀이] bubble_sort

로디네로 2020. 12. 27. 14:28
반응형

풀이 일시 : 2020-07-28

버블정렬 :

->인접한 두 원소를 검사하여 앞의 원소의 크기가 더 크다면 자리를 바꾼다.

-> 처음 i가 0일때 실행한다면 인덱스의 맨 끝값이 가장 큰 값으로 설정될 것이다.

-> i를 늘려가며 끝까지 실행하면 뒤에서부터 정렬이 완료 될 것이다.

시간복잡도는 O(N^2)

문제 :

1 10 5 8 7 6 4 3 2 9 다음 숫자들을 오름차순으로 정렬하는 프로그램을 작성하시오

 

풀이 :

#include <stdio.h>

int main() {
	int array[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 };
	int temp,i,j;
	for (i = 0; i < 10; i++) { //0~9까지 증가해야한다.
		j = 0;
		for (j = 0; j < 9 - i; j++) { //탐색범위는 i가 커질수록 줄어든다.
			if (array[j] > array[j + 1]) { // 바로뒤와 SWAP
				temp = array[j];
				array[j] = array[j+1];
				array[j+1] = temp;
			}
		}
	}
	for (int i = 0; i < 10; i++) {
		printf("%d ", array[i]);
	}
	return 0;
}
반응형