我正在研究一个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循环。 –