C;버블 코딩시 문제점 발생.
정훈
소스코드 : 통합정렬 알고리즘을 만들기 전에 하나씩 코드를 짜보려고 합니다.버블 정렬에서 특정 라인에서 자리 바꿈이 일어 납니다.
bubble_sort (int a[], int n, int b){
for (i=max-1; i0; i--){
for (j=0; ji; j++){
if ((b==0) || (a[j]a[j+1])){ // 올림 차순
if (i==3){ // 2와 30의 자리 비교 때문에
(a[j]a[j+1])? printf ( 참\n): printf ( 거짓\n);}
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
for (s=0; s1; s++){ // 확인 해보기 위해서.
for (z=0; z6; z++)
printf ( %d, a[z]);
printf (\n);}
}
{68, 45, 2, 30, 16, 38} 초기화을 주고 하다가.
45 68 2 30 16 38
45 2 68 30 16 38
45 2 30 68 16 38
45 2 30 16 68 38
45 2 30 16 38 68
2 45 30 16 38 68
2 30 45 16 38 68
2 30 16 45 38 68
2 30 16 38 45 68
30 2 16 38 45 68 // 2와 30의 크기결과 거짓으로 나옵니다. 하지만 자리 바꿈이 계속일어나네요..
30 16 2 38 45 68
30 16 38 2 45 68
16 30 38 2 45 68
16 38 30 2 45 68
38 16 30 2 45 68 // 결과값. 올림차순으로 하는데. 결과값이 이 모양 입니다. -0- 2 교환 부터 이상하네요.
애초에 무엇인가를 잘못 작성했나요?