C++ clock()函数简介

问题描述

判断一个算法的好坏,不但与算法的空间复杂度和巧妙有关,还和算法的时间复杂度有关.于是问题来了如何用数据表明算法的时间复杂度优劣呢?

解决方案

C++里面提供了一个clock()函数(它被<time.h>头文件收录)可以用于计算程序某个环节运行时间.

CODE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <time.h>
#include <iostream>
using namespace std;

int main()
{
clock_t start,end;
start=clock();
int m=0;
for(int i=0;i<1e3;i++)
{
for(int j=0;j<1e3;j++)
{
m++;
}
}
end=clock();
double n=(double)(end-start)/CLOCKS_PER_SEC;
std::cout<<n<<endl;//0.002865
cout<<n<<endl;//0.002865
cout<<m<<endl;//1000000
}

函数介绍

c++的头文件ctime中的库函数clock()提供了测试函数运行时间的方法:

  1. clock()返回类型为clock_t类型

  2. clock_t实际为long类型typedef long clock_t

  3. clock()函数, 返回从程序运行到程序调用clock()函数之间的CPU时钟计时单元(clock tick)数, 返回单位是毫秒

  4. 常量CLOCKS_PER_SEC表示每一秒(per second)有多少个时钟计时单元

eternity6666 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
Donate comment here