选择排序算法修改

习题四(工程名为104、源程序名为104)
参考下列程序,对习题一和习题三的程序作适当修改。通过上机运行,实验测评二种排序算法运行效率,以期在理论和实践上得出一致的结论。
⑴选择排序算法修改
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <conio.h>
#include <time.h>
#define N 65536*2
void Selection(short[],int);
void main()
{
short A[N+1];
srand(time(NULL));
for(int i=1;i<=N;i++)A[i]=rand()%10000;
time_t t1,t2; struct tm *pt;
time(&t1);pt=gmtime(&t1);
cout<<setfill(‘0’);
cout<<“排序开始时间:”;
cout<<setw(2)<<(pt->tm_hour+8)%24<<":"<<setw(2)<tm_min<<":"<<setw(2)<tm_sec<<endl;
cout<<“SelectionSort排序中”<<flush;
for(i=1;i<=N-1;i++){
if(i%2048==0)cout<<"."<<flush;
Selection(A,i);
}
cout<<endl<<“排序结束时间:”;
time(&t2);pt=gmtime(&t2);
cout<<setw(2)<<(pt->tm_hour+8)%24<<":"<<setw(2)<tm_min<<":"<<setw(2)<tm_sec<<endl;
cout<<“排序耗费时间=”<<t2-t1<<endl;
getch();
}

// *******************************************************
// * 工 程 名:104选择.dsp *
// * 程 序 名:104选择.cpp *
// * 主要功能:选择排序法时间 * *
// * 编制时间:2019年11月21日 *
// ********************************************************

#include
#include <stdlib.h>
#include
#include <conio.h>
#include <time.h>
#define N 65536*2
using namespace std;
void SelectionSort(int A[],int i)
{
if(i>=N-1)
{
return;
}
else{
int index,j;
index=i;
for(j=i+1;j<N;j++)
{
if(A[index]>A[j])
index=j;
}
int temp;
temp=A[index];
A[index]=A[i];
A[i]=temp;
}

}

int main()
{
int A[N+1];
srand(time(NULL));
for(int i=1;i<=N;i++)A[i]=rand()%10000;
time_t t1,t2; struct tm *pt;
time(&t1);pt=gmtime(&t1);
cout<<setfill(‘0’);
cout<<“排序开始时间:”;
cout<<setw(2)<<(pt->tm_hour+8)%24<<":"<<setw(2)<tm_min<<":"<<setw(2)<tm_sec<<endl;
cout<<“SelectionSort排序中”<<flush;
for(int i=1;i<=N-1;i++){
if(i%2048==0)cout<<"."<<flush;
SelectionSort(A,i);
}
cout<<endl<<“排序结束时间:”;
time(&t2);pt=gmtime(&t2);
cout<<setw(2)<<(pt->tm_hour+8)%24<<":"<<setw(2)<tm_min<<":"<<setw(2)<tm_sec<<endl;
cout<<“排序耗费时间=”<<t2-t1<<endl;
getch();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aaaaaayyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值