반응형
#include <iostream>
void Bubble(int *arr, int arr_len)
{
for(int i = 0; i < arr_len - 1; i++)
{
for(int k = 0; k < (arr_len-i)-1; k++)
{
if( arr[k] < arr[k+1] )
{
int temp = arr[k]
arr[k] = arr[k+1];
arr[k+1] = temp;
}
}
}
int main(int argc, char *argv[])
{
int arr[5] = { 6, 2 , 9, 10, 4 };
Bubble(arr, 5);
for(int i=0; i<5; i++)
{
cout << " " << arr[i];
}
cout << endl;
return 0;
}
두번째 For문에 (arr_len-i)-1을 해준이유는
6 2 9 10 4
배열에서 가장 큰값을 맨뒤로 보내게 되기 때문이다.
2 6 9 4 10
이런식으로 처음 소팅하게되면 10을 제외한 나머지 값들만 정렬하면 되기때문에
(arr_len-i)-1 을 해주었습니다.
'Programming > 자료구조' 카테고리의 다른 글
[자료구조] Fenwick Tree(Binary Indexed Tree) (0) | 2016.03.03 |
---|---|
퀵소팅(Quick sorting) (0) | 2015.12.07 |