vc ++获取程序执行时间时间

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:09:25
正在做课设,用vc++,要求显示排序算法执行的时间,应该怎么弄,添加什么代码,在那添加?

你意思是不是理解错了,应该是时间复杂度。因为在windows系统这类多线程操作系统中,程序的执行时间是不确定的,受系统中其他任务的影响。

排序算法执行前设置定时器,代码结束后,返回定时器的时间。

clock()函数,需要包含<time.h>

这个是windows里面常用来计算程序运行时间的函数;
DWORD dwStart = GetTickCount();
//这里运行你的程序代码
DWORD dwEnd = GetTickCount();
则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位
这个函数只精确到55ms,1个tick就是55ms。

2
timeGetTime()基本等于GetTickCount(),但是精度更高
DWORD dwStart = timeGetTime();

//这里运行你的程序代码

DWORD dwEnd = timeGetTime();

则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位
虽然返回的值单位应该是ms,但传说精度只有10ms。

3
用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。
clock_t clock ( void );

#include <time.h>
clock_t t = clock();
long sec = t / CLOCKS_PER_SEC;
他是记录时钟周期的,实现看来不会很精确,需要试验验证;

4
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t begin,end;
begin=clock();