C++ 我正在打印当前时间,但我得到了大量与时间无关的数字
我需要计算排序所需的时间。这是一个家庭作业,我的老师说,C++ 我正在打印当前时间,但我得到了大量与时间无关的数字,c++,sorting,time,C++,Sorting,Time,我需要计算排序所需的时间。这是一个家庭作业,我的老师说,包含了1987年的一些函数,可以告诉你从那时起的时间。这在排序之前和之后运行,两个值之间的差值就是排序时间。然而,我找不到任何与时间函数相关的东西&1987……有人知道他在说什么吗,或者有没有其他方法来计算排序时间 int main() { int n; vector<int> data; time_t t =time(0); cout<<"Vector length?: "<
包含了1987年的一些函数,可以告诉你从那时起的时间。这在排序之前和之后运行,两个值之间的差值就是排序时间。然而,我找不到任何与时间函数相关的东西&1987……有人知道他在说什么吗,或者有没有其他方法来计算排序时间
int main()
{
int n;
vector<int> data;
time_t t =time(0);
cout<<"Vector length?: "<<endl;
cin>>n;
srand(time(0));
for (int i=0; i<n; i++)
{
data.push_back(rand()%20+1);
}
cout<<"Vector: "<<endl;
for (int i=0; i<n; i++)
{
cout<<data[i]<<" "<<endl;
}
cout<<"Time: "<<t<<endl;
insertionSort(data);
cout<<"***Insertion Sorted Vector*** "<<endl;
//cout<<"Time taken: "<<i_t2-i_t1<<endl;
system("Pause");
return 0;
}
intmain()
{
int n;
矢量数据;
时间t=时间(0);
库特
功能时间
time_t time (time_t* timer);
获取当前时间获取当前日历时间作为类型的值
时间
函数返回此值,如果参数不是null
指针,它还将此值设置为计时器指向的对象
返回的值通常为(并非总是由用户3528438返回)表示自
UTC 1970年1月1日00:00(即当前unix时间戳)。
尽管库可能使用不同的时间表示形式:
可移植程序不应使用此函数返回的值
直接,但始终依赖于对标准其他元素的调用
库将它们转换为可移植类型(如localtime、gmtime)
或difftime)
/*时间示例*/
#包括/*printf*/
#包括/*time\u t、struct tm、difftime、time、mktime*/
int main()
{
时间计时器;
结构tm y2k={0};
双秒;
y2k.tm_小时=0;y2k.tm_分钟=0;y2k.tm_秒=0;
y2k.tm_year=100;y2k.tm_mon=0;y2k.tm_mday=1;
时间(&timer);/*获取当前时间;与:timer=time(NULL)相同*/
秒=difftime(计时器、mktime(&y2k));
//^^^^^^^^^请参见此处的difftime
printf(“自2000年1月1日起当前时区内的%.f秒”),秒);
返回0;
}
-如果不确定,请阅读文档。要么你记错了,要么你的老师把截止日期搞错了,在大多数系统上,截止日期是1970年1月1日,而不是1987年。你知道,我实际上在内部讨论了是1987年还是1970年,但我选择前者纯粹是因为它是最近的,哈哈!
/* time example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, struct tm, difftime, time, mktime */
int main ()
{
time_t timer;
struct tm y2k = {0};
double seconds;
y2k.tm_hour = 0; y2k.tm_min = 0; y2k.tm_sec = 0;
y2k.tm_year = 100; y2k.tm_mon = 0; y2k.tm_mday = 1;
time(&timer); /* get current time; same as: timer = time(NULL) */
seconds = difftime(timer,mktime(&y2k));
// ^^^^^^^ see difftime here
printf ("%.f seconds since January 1, 2000 in the current timezone", seconds);
return 0;
}