C/C++ソースコードは、ランダムに生成されたデータの並べ替え(直接挿入並べ替え、折半挿入並べ替え)を実現する
コード実装機能は次のとおりです.
1.1 E 4個の乱数を生成し、乱数を並べ替える.
2.並べ替えにかかる時間を計算する.
3.ソート方法は、直接挿入ソートと折半挿入ソートです.
ソースコードは次のとおりです.
実行結果:
10000個の乱数の直接挿入ソート実行時間は0.061 s,折半挿入ソート実行時間は0.047 sであった.
1.1 E 4個の乱数を生成し、乱数を並べ替える.
2.並べ替えにかかる時間を計算する.
3.ソート方法は、直接挿入ソートと折半挿入ソートです.
ソースコードは次のとおりです.
#include
#include
#include // time
#include
using namespace std;
#define MAX 10000 //
int a[MAX+5];
int b[MAX+5];
//
void InsertSort(){
// L
int i,j,k;
for(i=2;i<=10000;i++)
{
int temp=a[i];
for(j=i;j>1 && a[j-1]>temp;j--)
{
a[j]=a[j-1];
}
a[j]=temp;
}
}
void BInsertSort(){
int left,right;
int i,j,k;
int mid;
for(i=2;i<=10000;i++)
{
int temp=a[i];
left=1;
right=i-1;
while(left<=right)
{
mid=(left+right)/2;
if(temp>a[mid])
{
left=mid+1;
}
else
{
right=mid-1;
}
}
for(j=i;j>left ;j--)
a[j]=a[j-1];
a[left]=temp;
}
}
void menu()
{
cout<>x)
{
switch(x){
case 1:
{
cout<
実行結果:
10000個の乱数の直接挿入ソート実行時間は0.061 s,折半挿入ソート実行時間は0.047 sであった.