Я пытаюсь создать программу, которая будет подсчитывать Сортировка случайно сгенерированного списка целых чисел. Я хочу создать список из 3000 целых чисел, взять половину из них и отсортировать. Затем я хочу взять отсортированные целые числа, которые я только что отсортировал, и сохранить их во временном файле. Затем я хочу взять другую половину целых чисел и отсортировать их и сохранить их в другом временном файле. Как только обе половины отсортированы, я хочу объединить оба временных файла в один файл.Подсчет списка сортировки целых чисел в C
Мой вопрос заключается в том, как я могу сгенерировать случайные целые числа 3000 и сохранить их во временном файле, а затем вызвать их в функцию сортировки counting?
Вот некоторые из моих кодов.
#include <stdio.h>
#include <stdlib.h>
void counting_sort_mm(int *array, int n, int min, int max)
{
int i, j, z;
int range = max - min + 1;
int *count = malloc(range * sizeof(*array));
for(i = 0; i < range; i++) count[i] = 0;
for(i = 0; i < n; i++) count[ array[i] - min ]++;
for(i = min, z = 0; i <= max; i++)
{
for(j = 0; j < count[i - min]; j++)
{
array[z++] = i;
}
}
free(count);
}
void counting_sort(int *array, int n)
{
int i, min, max;
min = max = array[0];
for(i=1; i < n; i++)
{
if (array[i] < min)
{
min = array[i];
} else if (array[i] > max)
{
max = array[i];
}
}
}
Мой Генератор случайных (до сих пор не уверен, как сохранить их в двух различных временных файлов ..)
#include <stdio.h>
#include <stdlib.h>
int main() {
int c, n;
for (c = 1; c <= 3000; c++) {
n = rand()%100 + 1;
printf("%d\n", n);
}
return 0;
}
вы знаете диапазон случайных чисел? –
Я просто хочу от 0 до 3000 целых чисел размером не более 10 000 – Derk
Я не дал вам этого -1, но в отличие от человека, который сделал это, я думаю, что могу объяснить, почему это произошло, derk. По этому вопросу мы действительно хотим видеть код, который вы пытаетесь записать, чтобы генерировать случайные числа, код сортировки является касательным. Соблюдайте свой вопрос, и это пример кода, ориентированного на проблему, и здесь вы получите лучшие результаты. Начните с написания кода, который вызывает rand(). – Segfault