空时 凌乱记

好吧,就是让我这个蒟蒻不再手动计算

程序运行时间与空间

时间

clock函数

最好用double 存

因为c++的clock函数是记毫秒的,最后最好/1000(1s=1000ms)

不过要是懒得记,CLK_TCK也是函数自带的转秒值(1000)

#include<bits/stdc++.h>

int main()
{
    int i = 10000000;
   	double  start, end; 
    
    start = clock(); 
    while( i-- );
    end = clock(); 
    printf("The time was: %lf\n", (end - start) / CLK_TCK); 
    return 0;
} 

  

空间

sizeof

sizeof的结果等于对象或者类型所占的内存字节数

然后我们再除以bit与M之间的进率1024*1024

就ODK啦

嗯,size_of 强制转化double

//将还不如我手动快

#include<bits/stdc++.h>
#define re return
#define inc(i,l,r) for(int i=l;i<=r;++i)
using namespace std;
template<typename T>inline void rd(T&x)
{
    char c;bool f=0;
    while((c=getchar())<'0'||c>'9')if(c=='-')f=1;
    x=c^48;
    while((c=getchar())>='0'&&c<='9')x=x*10+(c^48);
    if(f)x=-x;
}

int a[1500005],b[1500005];
//a表示原数,b表示包含b[i]的数
 
int main()
{
    printf("The space was: %lf\n", (double)sizeof(a)/(1024*1024)); 
    return 0;
} 

 

posted @ 2019-08-17 16:24  凉如水  阅读(112)  评论(0编辑  收藏  举报