I need an external sorting algorithm designed in C#
Project detail
I need an algorithm designed to handle an external mergesort given the following conditions:
-No more than 500MB of ram can be in use.
The Input:
-A file of bytes
-Contains N Records of length M (ie. 5000 records, of length 10 is 50000 bytes)
-No delimiter, only the length.
The output:
-A list of record numbers, A file of record numbers, or preferred medium of the sorted output.
The process envisioned:
Typical merge sort but upon large data. Example 20 million records of 100 bytes in length.
This is currently too large to hold in RAM due to the constraints above.