급합니다. 님이 쓰신 글 :
: 정수 정렬은 되던데
:
: 소수는 지멋대로 하더라구요.
:
: 책에 나와있는 걸 써서 했는데...
:
: 소수를 비교.정렬 하기 위해 어떻게 해야 하나요?
ANSI C 라이브러리의 qsort()를 쓰세요.
#include <stdio.h>
#include <stdlib.h>
int sort_function(const void *a, const void *b);
float a[5] = { 0.4, 0.1, 0.5, 0.2, 0.3 };
int main(void)
{
int i;
qsort((void *)a, 5, sizeof(a[0]), sort_function);
for (i = 0; i < 5; ++i)
printf("%f\n", a[i]);
return 0;
}
int sort_function( const void *a, const void *b)
{
return (float *)a - (float *)b;
}
참고로 C++에는 qsort()를 대신하는 sort() 알고리듬이 있습니다.
C와 C++의 문법적인 차이는 있지만 원리는 같습니다.
|