C/C++ソースコードは、ランダムに生成されたデータの並べ替え(直接挿入並べ替え、折半挿入並べ替え)を実現する


コード実装機能は次のとおりです.
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であった.