天哪 咱别这样
我自己改了一下 目前就剩那个 选择的排序还排不出来 帮忙挑下错吧
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void Insert_Sort(int R[],int n )
{
int i,j;
for(i=2;i<=n;i++)
if(R[i]<R[i-1])
{
R[0]=R[i];
for(j=i-1;R[0]<R[j];j--)
R[j+1]=R[j];
R[j+1]=R[0];
}
}
void PopSort(int R[],int n )
{
int i,j,x,a[100000];
for(j=0;j<99999;j++)
for(i=0;i<99999-j;i++)
if(a[i]>a[i+1])
{
x=a[i];
a[i]=a[i+1];
a[i+1]=x;
}
}
void SelectSort(int R[],int n )
{
int i,j,x,k,a[100000];
for(i=0;i<99999;i++)
{
x=i;
for( j=i+1;j<100000;j++ )
{
if( a[x]>a[j] )
x=j;
}
k=a[i];
a[i]=a[x];
a[x]=k;
}
}
void main()
{
int i,j,x,k;
int a[100000];
srand((unsigned)time(NULL));
for(i=0;i<100000;i++)
{
k=rand()%100;
a[i]=k;
printf("k=%d\n",k);
}
{
{
clock_t start;
clock_t end;
float t;
start=clock();
{
int i,n=100000;
SelectSort(a,n);
}
for(i=0;i<100000;i++)
printf("%d\n",a[i]);
end=clock();
t=(float)(end-start)/(float)CLOCKS_PER_SEC;
printf("%f",t);
}
{
clock_t start;
clock_t end;
float t;
start=clock();
{
int i,n=100000;
Insert_Sort(a,n);
}
for(i=0;i<100000;i++)
printf("%d\n",a[i]);
end=clock();
t=(float)(end-start)/(float)CLOCKS_PER_SEC;
printf("%f",t);
}
{
clock_t start;
clock_t end;
float t;
start=clock();
{
int i,n=100000;
PopSort(a,n);
}
for(i=0;i<100000;i++)
printf("%d\n",a[i]);
end=clock();
t=(float)(end-start)/(float)CLOCKS_PER_SEC;
printf("%f",t);
}
}
}