본문 바로가기
프로그래밍/알고리즘

버블정렬 알고리즘

by 눈야옹 2016. 4. 12.

값이 큰 것이 뒤로가는 정렬
*중간에 교체가 일어날때 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 프로그래밍