Bubble Sort

Programming/C,C++ 2017. 1. 10. 20:42

#include <stdio.h>

#include <conio.h>


#define N 5

#define false 0

#define true 1


int ar1[N] = {16, 24, 2, 44, 6};

int ar2[N] = {16, 24, 2, 44, 6};



int main (void)

{

int i, j;

int tmp;

int change;


// 첫 번째 루프를 돌면서, 가장 큰 수를 마지막 배열에

// 두 번째 루프를 돌면서, 두 번째 큰 수를 마지막에서 두번째 배열에 배치한다.

// 그런식으로 루프를 돌린다.

for (i = 0; i < N-1; ++i) {

for (j = 0; j < N-1-i; ++j) {

if (ar1[j] > ar1[j+1]) {

tmp = ar1[j];

ar1[j] = ar1[j+1];

ar1[j+1] = tmp;

}

}

}

for (i = 0; i < N; ++i) {

printf ("%d ", ar1[i]);

}

printf ("\n\n\n");


for (i = 0; i < N-1; ++i) {

change = false;

for (j = 0; j < N-1-i; ++j) {

if (ar2[j] > ar2[j+1]) {

change = true;

tmp = ar2[j];

ar2[j] = ar2[j+1];

ar2[j+1] = tmp;

}

}

if (change != true) {

// true가 아니라면, false라면.. 이미 배열이 완성되었다.

printf ("Already completed.. (loop count %d)\n", i);

break;

}

}

for (i = 0; i < N; ++i) {

printf ("%d ", ar2[i]);

}

printf ("\n");



_getch ();


return 0;

}


--- 결과 ---

2 6 16 24 44



Already completed.. (loop count 3)

2 6 16 24 44




'Programming > C,C++' 카테고리의 다른 글

문자열 비교 후 버블 소트  (0) 2017.01.11
strstr 문자열 찾기  (0) 2017.01.11
ansi2uni / uni2ansi 예제 in Linux, Win32  (0) 2017.01.09
Unicode에 관련하여[펌]  (0) 2017.01.09
ansi2uni in Win32  (0) 2017.01.07
Posted by 루나s
,