스터디/알고리즘

[알고리즘][C++] 버블정렬

y00&z1 2022. 7. 26. 20:42

: 이웃한 두 수끼리 계속 비교하면서 정렬 

 

 

 

💥 j=0 ~ 5 💥

13 23 11 7 5 15

a[j]  > a[j+1] 뒤의 숫자가 작다면? swap 

=> 발견될 때마다 교환이 필요하기 때문에 시간복잡도가 높다! 

 

 

13 11 23 7 5 15
13 11 7 23 5 15
13 11 7 5 23 15
13 11 7 5 15 23

 

 

💥 j=0 ~ 4 💥

13 11 7 5 15 23

 

11 13 7 5 15 23
11 7 13 5 15 23
11 7 5 13 15 23

 

 

💥 j=0 ~ 3 💥

11 7 5 13 15 23

... 똑같이 반복

 

for(i=0; i<n-1; i++){
	for (j=0; j<n-i-1; j++)
//0~5까지-> 0~4까지 -> ... 이렇게 for문이 돌려면 
//n-1에서 i를 빼준 범위만 돌면 된다!

 

 

**참고자료

https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html 

 

[알고리즘] 버블 정렬(bubble sort)이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io