Я пытаюсь получить время работы алгоритма сортировки вставками. MSDN сказал, что использование CTime может получить прошедшее время. Но я пытался много раз и всегда получал ноль. Я думал, что невозможно, чтобы время работы этого алгоритма было равно нулю. Должна быть какая-то ошибка или что-то еще. Кто-нибудь может мне помочь? Я разместил свой код ниже:
#include <cstdlib>
#include <iostream>
#include <atltime.h>
using namespace std;
//member function
void insertion_sort(int arr[], int length);
int *create_array(int arrSize);
int main() {
//Create random array
int arraySize=100;
int *randomArray=new int[arraySize];
int s;
for (s=0;s<arraySize;s++){
randomArray[s]=(rand()%99)+1;
}
CTime startTime = CTime::GetCurrentTime();
int iter;
for (iter=0;iter<1000;iter++){
insertion_sort(randomArray,arraySize);
}
CTime endTime = CTime::GetCurrentTime();
CTimeSpan elapsedTime = endTime - startTime;
double nTMSeconds = elapsedTime.GetTotalSeconds()*1000;
cout<<nTMSeconds;
return 0;
}//end of main
CTime
имеет разрешение в одну секунду. Судя по всему, весь ваш тест занимает меньше секунды. - person Igor Tandetnik   schedule 21.09.2014