#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 |