포인터 배열로 qsort 사용
그냥 구조체 배열을 소팅하는데는, 구조체 크기와 소팅할 사이즈가 크면 성능에 문제가 생긴다. 이때는 포인터 배열을 하나 만들어놓고, 원래의 구조체 배열을 가르키게 한 다음에, 포인터 배열만 소팅을 하면 성능에 유리하다. 원래의 데이터 배열은 변화가 없고, 포인터만 소팅된다. 핵심은. compare 함수다. #include #include #include #define LEN_NAME 22 #define cp_string(A,B) strncpy(A,B,strlen(B)) typedef struct elem_data{ int num; char name[LEN_NAME]; short age; }ELEM_DATA; int n_elem; void print_elem(const ELEM_DATA *dest); in..