데이터들을 어떠한 기준을 적용하여 정렬하려고 할때에는


정렬하려는 데이터의 크기도 고려해봐야 한다.


예를들어


단순히 int형 배열안에 들어있는 정수를 정렬할때에는


배열 안의 데이터들을 단순히 정렬기준에 맞추어 옮기면 되지만


구조체 배열과 같이 배열의 요소마다 들어있는 데이터의 양이 큰 경우가 있다.


이 때 앞의 방법으로 단순히 배열 안의 데이터들을 옮기게 된다면


대입연산을 한 번 거칠때마다 수백 바이트 이상의 복사를 해야만 할 수도 있다.


이 때에는 구조체 배열안의 데이터들을 직접 정렬하는 것보다


구조체 포인터 배열을 선언하여 정렬 기준에 맞춰 데이터를 가리키도록 하는 것이 좋다.


포인터 배열의 각 요소는 주소값을 지니고 있을 뿐인데, 그 값은 32비트의 시스템을 기준으로


4바이트 밖에 되지 않기 때문이다.



'C > 공개글' 카테고리의 다른 글

난수를 발생시키는 법(rand, srand, time, random, randomize)  (0) 2013.01.23
gets와 fgets  (0) 2013.01.23
EOF와 feof함수의 특징  (3) 2013.01.23
printf와 puts와 fputs  (0) 2013.01.23
printf의 서식  (0) 2013.01.23
Posted by huammmm1
,