📄 main.cpp
字号:
#include "base.h"
void Randnumber (void);
void Insort (float &tI, int flag);
void BInsort (float &tBI,int flag);
void TInsort (float &tT, int flag);
void SInsort (float &tSI,int flag);
void ShInsort (float &tSh,int flag);
void Busort (float &tBu,int flag);
void Qsort (float &tQ, int flag);
void Ssort (float &tSe,int flag);
void Hsort (float &tH, int flag);
void Msort (float &tM, int flag);
void Rsort (float &tR, int flag);
void WriteResult(float t[]);
void mainmenu()
{
int choice;
cout<<"\t\t\t内部排序算法比较"<<endl;
cout<<"\t\t\t 主菜单"<<endl;
cout<<"\t\t 1.产生随机数并保存"<<endl;
cout<<"\t\t 2.直接插入排序"<<endl;
cout<<"\t\t 3.折半插入排序"<<endl;
cout<<"\t\t 4.2-路插入排序"<<endl;
cout<<"\t\t 5.表插入排序"<<endl;
cout<<"\t\t 6.希尔排序"<<endl;
cout<<"\t\t 7.冒泡排序"<<endl;
cout<<"\t\t 8.快速排序"<<endl;
cout<<"\t\t 9.简单选择排序"<<endl;
cout<<"\t\t10.堆排序"<<endl;
cout<<"\t\t11.归并排序"<<endl;
cout<<"\t\t12.基数排序"<<endl;
cout<<"\t\t13.各种排序比较"<<endl;
cout<<"\t\t14.退出"<<endl;
cout<<"\t\t请输入选择: ";
cin >>choice;
if(choice<1||choice>14)
{
system("cls");
cout<<"输入错误,请重新输入."<<endl;
mainmenu();
}
switch(choice)
{
case 1:{
system("cls");
Randnumber();
cout<<"产生10个样本,每个样本50000个数据"<<endl;
cout<<"10个样本存在a.txt~j.txt中,可以查看!"<<endl;
system("PAUSE");
mainmenu();
break;
}
case 2:{
system("cls");
float tI;
Insort(tI,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 3:{
system("cls");
float tBI;
BInsort(tBI,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 4:{
system("cls");
float tT;
TInsort(tT,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 5:{
system("cls");
float tSI;
SInsort(tSI,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 6:{
system("cls");
float tSh;
ShInsort(tSh,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 7:{
system("cls");
float tBu;
Busort(tBu,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 8:{
system("cls");
float tQ;
Qsort(tQ,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 9:{
system("cls");
float tSe;
Ssort(tSe,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 10:{
system("cls");
float tH;
Hsort(tH,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 11:{
system("cls");
float tM;
Msort(tM,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 12:{
system("cls");
float tR;
Rsort(tR,1);
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 13:{
system("cls");
float t[12]={0};
int i;
Insort (t[1] ,0);// system ("PAUSE"); system ("cls");
BInsort (t[2] ,0);// system ("PAUSE"); system ("cls");
TInsort (t[3] ,0);// system ("PAUSE"); system ("cls");
SInsort (t[4] ,0);// system ("PAUSE"); system ("cls");
ShInsort(t[5] ,0);// system ("PAUSE"); system ("cls");
Busort (t[6] ,0);// system ("PAUSE"); system ("cls");
Qsort (t[7] ,0);// system ("PAUSE"); system ("cls");
Ssort (t[8] ,0);// system ("PAUSE"); system ("cls");
Hsort (t[9] ,0);// system ("PAUSE"); system ("cls");
Msort (t[10],0);// system ("PAUSE"); system ("cls");
Rsort (t[11],0);// system ("PAUSE"); system ("cls");
cout<<"各种排序用时比较:"<<endl;
cout<<"排序用时:"<<endl;
cout.precision(6);
cout.setf(ios::fixed|ios::right|ios::showpoint);
cout<<"直接插入排序:";
cout.width(10);
cout<<t[1]/10<<"s"<<endl;
cout<<"折半插入排序:";
cout.width(10);
cout<<t[2]/10<<"s"<<endl;
cout<<"2-路插入排序:";
cout.width(10);
cout<<t[3]/10<<"s"<<endl;
cout<<"表插入排序: ";
cout.width(10);
cout<<t[4]/10<<"s"<<endl;
cout<<"希尔排序: ";
cout.width(10);
cout<<t[5]/10<<"s"<<endl;
cout<<"冒泡排序: ";
cout.width(10);
cout<<t[6]/10<<"s"<<endl;
cout<<"快速排序: ";
cout.width(10);
cout<<t[7]/10<<"s"<<endl;
cout<<"简单选择排序:";
cout.width(10);
cout<<t[8]/10<<"s"<<endl;
cout<<"堆排序: ";
cout.width(10);
cout<<t[9]/10<<"s"<<endl;
cout<<"归并排序: ";
cout.width(10);
cout<<t[10]/10<<"s"<<endl;
cout<<"基数排序: ";
cout.width(10);
cout<<t[11]/10<<"s"<<endl;
cout<<endl;
cout<<"1.保存统计结果"<<endl;
cout<<"2.回主菜单"<<endl;
cout<<"3.退出"<<endl;
cin >>i;
while(i<1||i>3)
{
cout<<"请重新输入:"<<endl;
cin >>i;
}
switch(i)
{
case 1:{
WriteResult(t);
cout<<"统计结果已写入Result.txt文件中,可以查看."<<endl;
system("PAUSE");
system("cls");
mainmenu();
break;
}
case 2:{
system("cls");
mainmenu(); break;
}
case 3: exit(0);
}
}
case 14: exit(0);
}
}
void main()
{
mainmenu();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -