DevBoi

버블 정렬 본문

Algorithm/[Etc]

버블 정렬

HiSmith 2021. 9. 28. 00:24
반응형

버블 정렬은 앞에서 부터 1번째와 두번째 두개를 비교해서, 특정 조건에 맞춰서 자리를 바꿔주는 것이다.

이중 for문을 돌려서, 체크를 하고, 두번째 반복문에서는, 제일 마지막에쌓인 데이터는 다시 처리하지 않는다.(처리해도 무방하긴 하다, 다만 낭비가 심하니까, 해당 작업은 하지않는다.)

 

특수하게 짜는 경우는 내부 반복분에 boolean flag를 두어서, 한번돌았을때, 정렬을 한번 도 하지 않는 경우

즉 swap 이 일어나지 않는 경우는 그냥 끝낸다.
왜냐면, 낭비를 줄이기 위해서....그렇게 하기 이해서는 flag를 내부 반복문 안으로 넣는다.

 

1. 이중 반복문 (내부 반복문 도는 횟수 max값 -1 씩 감소)

2. 자리바꿈시 flag true , 아니면 break

3.  두개 바꿔야 하면 collections.swap 

 

 

 

 

 

https://github.com/Realcheese94/Smith_Algorithm

 

반응형

'Algorithm > [Etc]' 카테고리의 다른 글

[카운팅 정렬과 퀵정렬]  (0) 2021.10.21
선택 정렬  (0) 2021.09.28
알고리즘 공부 [힙]  (0) 2021.09.27
알고리즘 공부 [Tree]  (0) 2021.09.26
알고리즘 공부 [Hash]  (0) 2021.09.26