void 포인터를 이용하여 여러 데이터형을 정렬하는 함수를 1개로 만들어 보자.
int형 배열을 정렬하는 함수는 아래와 같다.
void sort(int* arr, int count);
int이외에 char, double도 정렬하려면 어떻게 코딩하면 좋을까?
단순히 생각해보면 아래와 같이 만들면 된다.
void sort1(int* arr, int count);
void sort2(char* arr, int count);
void sort3(long* arr, int count);
단점은 데이터 타입에 따라 함수가 늘어난다.
함수도 구분하기 쉽지 않다.
그래서 함수 이름을 좀 보기 좋게 지어보았다.
void sort_by_int(int* arr, int count);
void sort_by_char(char* arr, int count);
void sort_by_float(float* arr, int count);
그러나, 함수 갯수가 3개인건 여전하다.
함수를 1개로 줄일수는 없을까?