반응형

#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
블로그 이미지

KuroNeko_

KuroNeko

,