C_C++

(C언어) qsort를 이용한 실수형 자료 정렬

고니자니 2023. 12. 1. 08:46
반응형

다음 코드는 qsort를 이용해서 실수형 double 자료를 정렬하는 코드입니다.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

void print(double arr[], int size)
{
	for (int i = 0; i < size; i++)
		printf("%4.1f ", arr[i]);
	printf("\n");
}
int compare(const void *arg1, const void *arg2)
{
	if (*(double *)arg1 > *(double *)arg2) return 1;
	else if (*(double *)arg1 < *(double *)arg2) return -1;
	else return 0;
}
int main()
{
	double list[9] = { 2.1, 0.9, 1.6, 3.8, 1.2, 4.4, 6.2, 9.1, 7.7 };

	print(list, 9);
	qsort((void *)list, 9, sizeof(double), compare);
	print(list, 9);
	
	return 0;
}

 

(Output)

 2.1  0.9  1.6  3.8  1.2  4.4  6.2  9.1  7.7
 0.9  1.2  1.6  2.1  3.8  4.4  6.2  7.7  9.1

(C언어) qsort를 이용한 실수형 자료 정렬

 

728x90
반응형