=s[j])// temp[k++]=s[j++]; }" />
各种排序算法的时间耗费比较
...Example: cout<<"SelectSort: "<<Show(s,n);
}
.)
temp[k++]=s[i++];
if(s[i]>=s[j])//
temp[k++]=s[j++];
}
while(j<right+1)
temp[k++]=s[j++];
while(i<mid+1)
.
temp[k++]=s[i++];
for(i=left,j=0;i<right+1;i++,j++)
s[i]=temp[j];
}
void MergeSort(int *s,int left,int right,int n)
{
if(left<right)
{
int mid=(left+right)/2;
MergeSort(s,left,mid,n);
MergeSort(s,mid+1,right,n);
>
Merge(s,left,right,mid,n);
}
if(right-left+1==n)
{
cout<<"MergeSort: ";
//Show(s,n);
}
}
/////////////////////////////////////////////////////////////////////// void Test(int *s)
{
"
double start,end;
int number=10000;
while(number<100001)
{
cout<<number<<"个数据:"<<endl;
RandData(s,number);
start=clock();//记录系统现在的时间,需要的头文件是<>
QuickSort(s,0,number-1,number);
end=clock();
cout<<(end-start)/1000<<endl;//将两个时间做差后即可得到排序所用的时间
%
RandData(s,number);
start=clock();
sort(&s[0],&s[number]);
end=clock();
cout<<"sort:"<<(end-start)/1000<<endl;
RandData(s,number);
start=clock();
MergeSort(s,0,number-1,number);
end=clock();
;
cout<<(end-start)/1000<<endl;
RandData(s,number);
start=clock();
InsertSort(s,number);
end=clock();
cout<<(end-start)/1000<<endl;
RandData(s,number);
start=clock();
SelectSort(s,number);
,
end=clock();
cout<<(end-start)/1000<<endl;
RandData(s,number);
start=clock();
BubbleSort(s,number);
end=clock();
cout<<(end-start)/1000<<endl;
number+=10000;
}
}
?
int main()
{
int s[N];
Test(s);
return 0;
//system("pause");//why the final said that "pause" not found }。