0
У меня есть очередь с номерами int, цель состоит в том, чтобы распечатать все отсортированные элементы. Во-первых, я сохраняю все числа в txt-файле, а затем я использую команду «sort» для печати всех их отсортированных. Можно сделать это чище? (Без использования файлов, а также, если это возможно без системы (...);)Сортировка чисел из очереди в C без использования файла
Это код:
...
FILE* fp=fopen("numbers.txt","w+");
printf("\n");
while (!empty(&my_queue)) //while queue is not empty
{
elem = first(&my_queue); //first() gets and deletes first element of queue
fprintf(fp,"%d\n", elem->number);
}
fclose(fp);
system("sort -n < numbers.txt");
remove("numbers.txt");
}
Спасибо!
насчет прибегая к помощи, прежде чем спрашивать? http://stackoverflow.com/questions/1787996/c-library-function-to-do-sort – hivert
Я думаю, что я не могу использовать эту функцию для этого, потому что узлы очереди не являются последовательно в памяти –
Can вы берете значения очереди, копируете их в непрерывную память, сортируете и делаете в очереди? –