//如果按你所说的只随机产生50个数,那么太少了,根本无法比较。下面我产生的是1000个。
#include
#include
//#include
//#include
using namespace std;
void Swap(int &x,int &y)
{
int t=x;
x=y;
y=t;
}
void BubSort(int *RandArray1)
{
for(int i=0;i<1000;i++)
for(int j=0;j<999-i;j++)
if(RandArray1[j]>RandArray1[j+1])
Swap(RandArray1[j],RandArray1[j+1]);
}
int p(int *RandArray1,int l,int r,int pivot)
{
do
{
while(RandArray1[++l]
Swap(RandArray1[l],RandArray1[r]);
}while(l
return l;
}
void qsort(int *RandArray1,int i,int j)
{
if(j<=i)
return;
int pivot=(i+j)/2;
swap(RandArray1[pivot],RandArray1[j]);
int k=p(RandArray1,i-1,j,RandArray1[j]);
swap(RandArray1[k],RandArray1[j]);
qsort(RandArray1,i,k-1);
qsort(RandArray1,k+1,j);
}
int main()
{
int RandArray1[1000],RandArray2[1000],i;
srand(time(NULL));
for(i=0;i<1000;i++)
{
RandArray1[i]=rand();
RandArray2[i]=RandArray1[i];
}
int start1=clock();
BubSort(RandArray1);
int end1=clock();
int Time1=end1-start1;
int start2=clock();
qsort(RandArray2,0,999);
int end2=clock();
int Time2=end2-start2;
cout<<"起泡排序结果为:"<
{
cout<<" "<
cout<
cout<<" "<
cout<<"快速排序快!"<
}
楼主要是有了能发给我么?805244941@qq.com
楼主要是有了 请发给我 谢了 邮箱:554910312@.com
没看到她有C++版,那殷作者全名呢。
我只有C版的。
你是真 有才啊,去电驴上下载。或是百度文库