Pentru sortarea unui număr foarte mare de întregi, long
, stocarea acestora în memorie nu este posibilă. Se consideră astfel un set de fişiere binare sortate. Sortarea externă are că scop obţinerea unui fişier binar sortat din setul de fişiere considerat prin metodăinterclasarii. Astfel, se consideră comandă:
sort file_1 file_2 ... file_n output.bin
unde primele n
argumente reprezintă numele fişierelor binare sortate de întregi, iar ultimul argument este numele fişierului binar de ieşire creat prin interclasarea fişierelor de intrare.
Să se implementeze această comandă.
Schemă de implementare: Se citeşte câte un număr din fiecare fişier într-un vector alocat dinamic. Cel mai mic număr din acest vector este scris în fişierul de ieşire şi în locul lui este citit un nou număr din fişierul corespunzător. Procesul se repetă până când nu mai există nici un număr în nici un fişier.
Restricţii: Nu se vor folosi variabile globale. Toate tablourile de date folosite se vor alocă dinamic.