버블방식 6,5,7,3,4 교환은 몇번 하시나요?
정답은 6번입니다. 버블 정렬 알고리즘은 다음과 같습니다.
for(i = 1; i < n; i++){//아래 첨자가 1부터 시작한다고 가정합니다.
exchang = false;
for(j = n; j > i; j--)
if(v[j - 1] > v[ j]) {
Swap(v[j - 1], v[j]);
exchang = true;
}
if (!exchang) return;
}
따라서 첫 번째 패스에서 j의 값은 9에서 2로 변경되고 j가 1과 같을 때 종료됩니다. 버블링 프로세스
p>j의 v[j-1] v[j] 값을 그 뒤에 있는 v[j - 1] 및 v[i]와 교환해야 합니까?
>9 v[8]:45 v [9]:80 아니요 v[8]:45 v[9]:80
8 v[7]:60 v[8]:45 예 v[7]:45 v[8]: 60
7 v[6]:70 v[7]:45는 v[6]:45 v[7]:70
6 v[5]:15 v[ 6]:45 아니요 v[5]:15 v[6]:45
5 v[4]:20 v[5]:15 예 v[4]:15 v[5]:20
4 v[3]:95 v[4]:15는 v[3]:15 v[4]:95입니다
3 v[2]:40 v[3 ]:15는 v[2]:15 v[3]:40
2 v[1]:50 v[2]:15는 v입니다 [1]:15 v[2]:50
이 버블링에서 6번의 교환이 발생한 것을 위에서 볼 수 있습니다 ***