Я хочу точное время для запуска программы, я использую его из clock()
, Но есть проблема, что я не могу дать точное время для маленьких n
как 2000.
Я хочу, чтобы он вернул правильный ответ для n = 1000.
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
#define show_time(x, y) cout << endl << #x << " : " << y << endl;
int main()
{
int n;
cin >> n;
int *a = new int[n];
for(int i=0; i<n; i++)
a[i] = i;
random_shuffle(a, a+n);
int last = clock();
//STL_sort:
sort(a, a+n);
int lastP = clock();
show_time(STL_sort, (double)(lastP-last)/CLOCKS_PER_SEC);
return 0;
}
Выход равен 0. (Определенно 0 не будет ответом)
На какой платформе вы работаете? Если вы используете Windows, вы можете попробовать библиотека времени с высоким разрешением.
Если у вас есть доступ к C ++ 11, есть заголовок chrono
который имеет похожая функциональность, и портативный (иш)!
Других решений пока нет …