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