Форум программистов, компьютерный форум, киберфорум
Наши страницы

Наиболее быстрый способ сортировки файла в 1 Тб при ограниченном объёме оперативной памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наиболее быстрый способ сравнения двух экземпляров структур на предмет одинаковости их полей http://www.cyberforum.ru/cpp-beginners/thread1506522.html
Есть структура, в которой есть несколько int-ов и char-ов, какой имеется наиболее быстрый способ в C/C++ для сравнения двух экземпляров этой структуры на предмет полного совпадения значений полей? ...
C++ Заменить "fopen" в c++ на "TOpenDialog" в Builder6 Здравствуйте дорогие форумчане! 1. Что дано: По результатам чтения 1 части книги Пахомова "C++ Для начинающих" написал программу-конвертер. Состоит она из двух частей. Первая - считывает данные... http://www.cyberforum.ru/cpp-beginners/thread1506498.html
Приведение массива char[] (или char* ) в LPCTSTR C++
Задача: пользователь вводит директорию, нужно проверить существует ли эта директория. Функция DirExists проверки работает правильно, но аргумент у этой функции имеет тип LPCTSTR, клиент вводит...
C++ Формула поворота объекта
Здравствуйте! Подскажите, пожалуйста, формулу, по которой можно рассчитать угол ( в радианах ) поворота объекта так, чтобы он смотрел на другой объект. Что-то не получается объяснить на словах, по...
C++ Создание .ехе файла, работающего без подключения библиотек на других компьютерах http://www.cyberforum.ru/cpp-beginners/thread1506415.html
Привет всем. вопрос такой. как в sublime text 3 создать ехе файл(С++(mingw)), который на других компах будеть работать без подключения используемых библиотек. как я понял такой ехе называется...
C++ Список инициализации конструктора Всем привет. У меня есть некоторые вопросы насчет списка инициализации конструктора. Да и вообще не понимаю отличия от инициализации в теле конструктора и в списке инициализации.Вот например здесь... подробнее

Показать сообщение отдельно
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
29.07.2015, 22:43
Цитата Сообщение от Butt-Head Посмотреть сообщение
Интересно, может быть можно как - то вообще без вспомогательный файлов?
Как вариант, алгоритм исключительно для WinAPI и для двоичного файла:
C++
1
2
3
4
5
6
7
8
    HANDLE hFile = CreateFile( "test", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL );
    DWORD dwSize = GetFileSize( hFile,  NULL );
    HANDLE hMap = CreateFileMapping( hFile, NULL, PAGE_READWRITE, 0, 0, NULL );
    int * p = (int *)MapViewOfFile( hMap, FILE_MAP_WRITE, 0, 0, 0 );
    std::sort( p, p + dwSize / sizeof( int ) );
    UnmapViewOfFile( p );
    CloseHandle( hMap );
    CloseHandle( hFile );
Проверил на файле 172 MB. Программа использовала не более 500кБ ОЗУ.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru