값이 큰 것이 뒤로가는 정렬
*중간에 교체가 일어날때 Swap을 하게 되는데 그부분이 거품과 같다고 해서 버블정렬이라 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | void Study015::BubbleSort(int ary[], int len) { int count = 0; while (true) { int index = 1; //조건 : 앞에 있는 값이 뒤에있는 값보다 크면 서로 자리를 바까 준다. while (index < (len - count)) { if (ary[index - 1] > ary[index]) { int temp = ary[index - 1]; ary[index - 1] = ary[index]; ary[index] = temp; } index++; } count++; //방금 교환한 값이 0번과 1번이라면 종료 if (len - count < 2) { break; } } } | cs |
출처 : 열혈강의 C 프로그래밍
'프로그래밍 > 알고리즘' 카테고리의 다른 글
3차원에서 백터(v3)의 내적 (Dot) 과 외적 (Cross) 를 이용한 상대의 앞뒤 좌우 판별법 (0) | 2016.04.02 |
---|---|
A* 알고리즘 (0) | 2016.02.12 |