질문 하나 더 요!! bubble sort...
찬내
for(i = 0; i s; i++)
{
for(j =1; j s; j++)
{
if(a[i] a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
버블소트 코드가 이렇게 잖아요....
근데 이렇게 해서 컴파일 하면 맨 첫번째 숫자는
제일 작은것 나오더니 두번째 부터 오름차순으로 정렬 하더라구요..
머가 이상한 거죠... 다른데 다 찾아봐도 소스가 저렇던데요...??
참고로 소스 다올려 볼게요..#include stdio.h
#include stdlib.h
#include time.h
#define size 10 //배열의 크기
int sort(int a[], int s);
//메인함수 시작
int main(void)
{
long seed;
int array[size] = {0}; //배열선언과 0으로 초기화
int i;
seed = time(NULL);
srand(seed);
for(i=0; i size; i++)
{
array[i] = rand()%101;
//난수 발생후 배열에 대입
}
printf(0에서 100사이의 임의의 숫자 10개 출력!!\n);
//배열의 값 출력
for(i=0; i size; i++)
{
printf(%d , array[i]);
}
printf(\n);
printf(정렬된 후 출력 값입니다!!\n);
sort(array, size);
printf(\n);
return 0;
}int sort(int a[], int s)
{
int i, j;
int temp = 0;
for(i = 0; i s; i++)
{
for(j =1; j s; j++)
{
if(a[i] a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(i=0; i size; i++)
{
printf(%d , a[i]);
}
return 0;
}
소스는 이렇답니다....
-
Emily
for (i = 0; i n - 1; i++)
{
for (j = 1; j n - i; j++)
{
if (a[j-1] a[j])
{
t = a[j-1];
a[j-1] = a[j];
a[j] = t;
}
}
}
이렇게네요 다시 한번 살펴 보세요~