Прерываемый алгоритм сортировки на месте

мне нужно написать программу сортировки на C, и было бы неплохо, если бы файл можно было отсортировать на месте, чтобы сохранить диск пространство. Данные ценны, поэтому мне нужно убедиться, что в случае прерывания процесса (ctrl-c) файл не будет поврежден. Я могу гарантировать, что шнур питания на машине не будет выдернут.

Дополнительные сведения: файл составляет ~ 40 ГБ, записи 128-битные, машина 64-битная, ОС - POSIX

Какие-нибудь подсказки по выполнению этого или примечания в целом?

Спасибо!

Уточняю: Я ожидаю, что пользователь захочет использовать Ctrl-C для этого процесса. В этом случае я хочу изящно выйти и убедиться, что данные в безопасности. Итак, этот вопрос касается обработки прерываний и выбора алгоритма сортировки, который может быстро завершиться, если потребуется.

Продолжение (2 года спустя): Для потомков я установил обработчик SIGINT, и он отлично работал. Это не защищает меня от сбоя питания, но с этим я могу справиться. Код на https://code.google.com/p/pawnsbfs/source/browse/trunk/hsort.c и https://code.google.com/p/pawnsbfs/source. / просматривать / транк / qsort. c

13
задан William Entriken 17 May 2012 в 18:19
поделиться