Skip to content
Go back

C++ clock()函数简介

问题描述

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

解决方案

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

CODE

#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)有多少个时钟计时单元


Share this post on:

Previous Post
数据范围的坑
Next Post
帅到没朋友