#include <stdio.h>
#include <stdio.h>
#include <string.h>
int CompareScore(const void* _elem1, const void* _elem2)
{
// void 타입으로 들어오지만 사용할때는 사용하려는 타입으로 사용하여야한다.
int* elem1 = (int*)_elem1;
int* elem2 = (int*)_elem2;
if (*elem1 > *elem2)
return 1;
else if (*elem1 < *elem2)
return -1;
else
return 0;
}
int main(void)
{
int DataSet[] = { 6, 4, 2, 3, 1, 5 };
int Length = sizeof(DataSet) / sizeof(DataSet[0]);
int i = 0;
// 어떤 데이터 타입이든 처리가 가능하게 void타입으로 지정하였다.
// qsort(데이터, 데이터의 크기, 데이터 요소의 사이즈, 데이터 수의 크기를 비교하는 함수)
qsort((void*)DataSet, Length, sizeof(int), CompareScore);
for (i = 0; i < Length; i++)
{
printf("%d", DataSet[i]);
}
printf("\n");
return 0;
}
댓글 영역