Я работаю над программой на C++, в которой мне нужно передать массив для нескольких функций сортировки и сравнить время работы функций. Например, у меня есть массив из 100 элементов, содержащих случайные числа от 1 до 10. У меня есть сортировка пузырьков, сортировка слияния и быстрая сортировка, и я должен передать массив каждой функции. Однако, когда я передаю массив, первая функция сортировки меняет исходный массив, так что когда он передается следующей функции, он уже отсортирован. Ожидается, но мне было интересно, как я буду хранить этот массив в отдельном файле, возможно, в заголовочном файле, чтобы сохранить исходный массив несортированным для каждого вызова функции.C++ Сохранение массива в отдельном файле
Вот схема моего кода:
#include <iostream>
using namespace std;
//void bubblesort, mergesort, quicksort function prototypes
int main()
{
int a[100];
for (int i = 0; i < 100; i++)
a[i] = rand() % 10 + 1;
bubblesort(a);
mergesort(a);
quicksort(a);
return 0;
}
//void bubblesort, mergesort, quicksort function definitions
Этот код, очевидно, только расположение и функция сортировки не имеет отношения к этому вопросу, кроме того, что вызов функции сортировки изменяет оригинальный массив. Спасибо за вашу помощь.
Просто скопируйте массив в новую переменную массива каждый раз, когда хотите сортировать. Не нужно сохранять его в файл. Проверьте 'memcpy()' или напишите цикл for. –