每次测试一个算法时,都需要手工输入数据,这并不能很好的测试算法的效率,因为测试10个数据好测,但是如果要测试1000个100000个数据靠人工输入数据是不实际的,因此,我们需要编写一个能够随机生成特定数量的函数。
以下为头文件sortTestHelper的源代码:
(使用codeblock的童鞋需要在project>build options中添加头文件的路径,否则编译器将会报错无法找到头文件!)
#ifndef SORTTESTHELPER_H_INCLUDED
#define SORTTESTHELPER_H_INCLUDED
#include<iostream>//基本输入输出流
#include<ctime>//时间库
#include<cassert>//assert()的使用
#include<stdlib.h>
using namespace std;
namespace SortTestHelper//创建名称空间
{
int*GenerateRandomArray(int n,int rangeL,int rangeR)//随机生成函数返回一个数组
{//rangL和rangR分别代表生成数据的范围
assert(rangeL<=rangeR);//异常处理中断,必须保证范围正常
int*arr=new int [n];
srand(time(NULL));
for(int i=0;i<n;i++)
{
arr[i]=rand()%(rangeR-rangeL+1)+rangeL;
}
return arr;
}
template<typename T>
void printArr(T arr[],int n)//打印函数
{
for(int i=0;i<n;i++)
{
cout<<arr[i]<<' ';
}
cout<<endl;
}
}
#endif // SORTTESTHELPER_H_INCLUDED