200만개의 정수를 만개단위로 끊어서 200개의 파일을 만들고 (만개의 정수가 들어있는 파일을 200개를 생성하는거죠)
201번째의 파일에 생성된 200만개의 정수를 정렬하여 써넣어야 합니다.

정수는 랜덤하게 생성하고, 어떠한 정렬 알고리즘을 사용하던 최단시간을 끌어내야 합니다.

그래서 두가지 방법을 생각해봤는데,

처음 파일을 생성할때부터 만개단위로 퀵정렬을 해서
정렬된 만개의 정수를 200개의 파일에 쓴뒤 201번째 파일에 병합정렬을 하는 방법과,
(정렬된 데이터를 정렬할때는 병합정렬이 가장 빠르다고 알고있습니다)

처음부터 파일을 생성할때 정렬하지 않고 랜덤하게 생성해놓은다음
200만개의 정수를 한번에 퀵정렬로 정렬하여 파일에 쓰는 방법을 생각해 봤습니다.


제가 생각했을때는 처음 파일을 만들때부터 정렬하여 만든뒤 병합정렬로 정렬하여 201번째 파일에 쓰는 방법이 더 빠를거라 생각했는데,

오히려 200만개의 정수를 퀵정렬 한번하여 201번째 파일에 쓰는것이 더 빠르게 나오더군요.


그리고 정렬된 파일을 병합정렬로 201번째 파일에 쓰는것과
퀵정렬로 201번째 파일에 쓰는것을 비교해 보니, 병합정렬을 하는것보다 퀵정렬을 할때가 더 빠른경우도 자주 나타나던데 정렬된 데이터를 다시 정렬하여 넣을때
병합정렬이 가장 빠르다고 알고있던건 잘못 알고있던것인지, 아니면 그만큼 퀵정렬과 병합정렬의 차이가 크게 나지 않는것인지 궁금합니다.


요지는, 200만개의 랜덤한 정수를 만개단위로 끊어서 200개의 파일을 만든뒤 201번째 파일에 정렬해서 넣어야 한다면
어떻게 구현하는게 가장 빠를까요?