(一) 主要是各种数学公式。
(二)计时工具
- 利用 <time.h>
#include<iostream>
#include<time.h>//采用的计时的函数
using namespace std;
int main()
{
clock_t start, end;
start = clock();//计时开始
//中间加入自己需要运算的函数
end = clock();//计时结束
float time = (float)(end - start) / 1000;//除以一千得到毫秒数
cout << "time is" << time << "s" << endl;
system("pause");
}
- 利用<windows.h>
#include<iostream>
#include<Windows.h>
{
unsigned long long BeginTime = 0;//设置开始时间
BeginTime = ::GetTickCount64();//运用的是64位的Windows时间
//自己编写的代码的函数
unsigned long long EndTime = ::GetTickCount64();
double seconds = (EndTime - BeginTime) / 1000.0;//末减去始即为所用时间 /1000位增加准确度
int minute = (int)seconds / 60;
seconds -= minute * 60;//将时间转化为分钟和秒,小时同理
cout << "排序成功!排序耗时:" << minute << ":" << (seconds < 10 ? "0" : "") << seconds << endl;
}
(三)随机数
现在所用的随机数一般用系统的时间来造成随机的效果
一般利用 <
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
srand((unsigned)time(NULL));//随机种子,即选取时间为变量,在循环赋值时,要将种子放在循环外侧
for (int m = 1; m <= 1000; m++)//,因计算机运算极快,在循环内,时间几乎未发生变化所以生成的随机数没有变化
{
float i = (rand() ;
cout << i << endl;
}
}
要得到不同要求的随机数,只需要对 rand() 进行变化。
如选取小于N的值 只需 rand() %N
有一定的大小范围 大于m小于n 则 rand() %(n-m)+m
小数的话 只需
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include<iomanip>//此函数可输出固定位数的小数,即便输出的为3.1000
using namespace std;
int main()
{
srand((unsigned)time(NULL));
float dataa = rand() % 100000;//控制需要生成的小数点后点的位数
float data1 = dataa / (10000 * 1.0);//将其转化为小数
cout << fixed << setprecision(4) << data1;//“<< fixed << setprecision(4)”将这段内容放于要输出的内容前,之后所有的数字小时后位数都固定,如3.1输出也为3.1000,输出位数可通过改变括号中的位数改变。
}
一点点补充。。。。。未完待续