我必須等待泡泡分類需要多長時間並打印需要多長時間。在我的程序中,打印的時間總是爲0.00秒。誰能告訴我我做錯了什麼?定時泡泡分類
int main()
{
srand((unsigned)time(NULL));
int arr[5000], arr2[5000];
int i;
time_t start, end;
double timeDiff;
for(i=0; i < 5000; i++)
{
arr[i] = rand() % 100 + 1;
arr2[i] = arr[i];
}
cout << "Here is the initial array:" << endl;
printArray(arr, 5000);
time(&start);
bubbleSort(arr, 5000);
time(&end);
timeDiff = difftime(end, start);
cout << "\nHere is the array after a bubble sort:" << endl;
printArray(arr, 5000);
cout << fixed << setprecision(2) << "\nIt took " << timeDiff << " seconds to bubble sort the array." << endl;
system("pause");
return 0;
}
這聽起來像time_t的粒度太大,無法捕獲您的排序程序所花費的時間(即「泡泡排序「在不到1秒內執行)。您需要多次運行例程才能註冊足夠長的時間。 – 2011-02-11 20:29:51
請注意,冒泡排序在計算機科學中沒有地位,除了作爲例子說明如何不做事。 – 2011-02-12 05:05:07
這是一堂課的作業。我們必須創建一個5000的數組,然後用數字1-100填充它,然後在其上運行兩種不同的排序方法。 – Joshua 2011-02-12 18:02:21