上面列了几个排序算法的代码,这些代码都是经过debug,程序验证过的。我顺便也把验证的环境贴出来吧。很多东西,其实是写给自己看的。
一、随机数生成程序,生成一定数量的随机数,用于排序,结果记录在文件中。
bool GenerateNum(const char *sFileOut, int iCount)
{
if (iCount <= 0)
return false;
ofstream out (sFileOut);
if (!out)
{
cerr << "Can not open the file" << endl;
return false;
}
srand( (unsigned)time( NULL ) );
for (int i=0; i<iCount; i++)
out << rand() << endl;
return true;
}
读取文件到数组。
bool LoadArrayTxt (const char* sFileIn, int Array[])
{
ifstream in(sFileIn);
if (!in)
{
cerr << "Can not open the file" << endl;
return false;
}
for (int i=0; i<1000; i++)
in >> Array[i];
return true;
}
将排好序的数值存放在文件中。
bool DumpArraryTxt (const char* sFileOut, int Array[])
{
ofstream out (sFileOut);
if (!out)
{
cerr << "Can not open the file" << endl;
return false;
}
for (int i=0; i<1000; i++)
out << Array[i] << endl;
return true;
}
测试代码:
void PlayNow(void)
{
int Array[1000];
GenerateNum("Stuff\\UnorderNum.txt", 1000);
LoadArrayTxt("Stuff\\UnorderNum.txt", Array);
BubbleSort ();
HeapSort ();
DumpArraryTxt("Stuff\\UnorderNum_sort.txt");
}
OK,完事。