Я знаю External merge sort и как он работает. Но в настоящее время я застреваю во время его реализации. Я написал код для сортировки и слияния массивов, но я столкнулся с проблемой во время чтения и записи данных из/в файл, я хочу, чтобы реализовать следующие методы в C++:Реализация внешнего слияния Сортировка
1. int * read(int s, int e) : This method should read from file all the number
starting from 's' till 'e' and return the array
2. write(int a[], int s, int e) : This method should write to file the input
array by replacing the numbers from s to e.
Для например.
Given file has the following numbers:
1
2
3
4
5
6
read(0, 2) should return [1,2,3]
write([4,5,6], 0, 2) should update the file to :
4
5
6
4
5
6
Как реализовать оба этих метода?
Как упоминалось в Yakk, можно перейти к строке в текстовом файле, используя функции istream :: seekg и istream :: tellg. Однако я не уверен в сложности и эффективности этих функций. См. Пример по следующей ссылке: http://www.cplusplus.com/reference/istream/istream/seekg/ –