我是一只鱼77 2021-10-21 22:02 采纳率: 50%
浏览 23
已结题

求大家帮看一下这个程序的问题

实现选择排序、冒泡排序、插入排序和快速排序,调用随机数函数rand产生100000-200000个数据,对比不同算法性能
为什么最后显示的时候是这个情况??插入排序用时0.快速排序不显示?
#include <stdio.h>
#include<malloc.h>
#include<string.h>
#include<time.h>
clock_t t1,t2,t4,t5,t7,t8,t10,t11;
void selectionSort(int A[],int n);
void bubbleSort(int A[],int n);
void insertSort(int A[],int n);
void quickSort(int A[],int begin,int end);
void Swap(int A[],int i,int j);
int main()
{
int n,i;
n=100000;
int A[n];
int m;
srand(time(NULL));
for(i=0;i<n;i++)
{
m=rand();
A[i]=m;
}
double t1,t2;
t1=clock();
selectionSort(A,n); //选择排序
t2=clock();

printf("selectionSort uses %lf seconds!\n",(double)(t2-t1)/CLOCKS_PER_SEC);
double t4,t5;
t4=clock();
bubbleSort(A,n);//冒泡排序
t5=clock();

printf("bubbleSort uses %lf seconds!\n",(double)(t5-t4)/CLOCKS_PER_SEC);

double t7,t8;
t7=clock();
insertSort(A,n);//插入排序
t8=clock();

printf("insertSort uses %lf seconds!\n",(double)(t8-t7)/CLOCKS_PER_SEC);
double t10,t11;
t10=clock();
quickSort(A,0,n-1);//快速排序
t11=clock();

  printf("quickSort uses %lf seconds!\n",(double)(t11-t10)/CLOCKS_PER_SEC);

}

void selectionSort(int A[],int n)
{
for (int i=0;i<n-1;i++)
{
int j=i;
for (int k=i+1;k<n;k++)
{
if (A[k]<A[j])
{
j=k;
}
}
Swap(A,i, j);
}

}
void bubbleSort(int A[],int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(A[j]>A[j+1])
{int b;
b=A[j];
A[j]=A[j+1];
A[j+1]=b ;}
}
}
}
void insertSort(int A[],int n)
{
for (int i=1;i<n;i++)
{
int temp=A[i];
int k=i-1;
while (temp<A[k]&& k>=0)
{
A[k+1]=A[k];
k--;
}
A[k+1]=temp;
}

}

void quickSort(int A[], int begin, int end)

{ if(begin>end)
return;
int tmp=A[begin];
int i=begin;
int j=end;
while(i!=j){
while(A[j]>=tmp&&j>i)
j--;
while(A[i]<=tmp&&j>i)
i++;
if(j>i){
int t=A[i];
A[i]=A[j];
A[j]=t;
}

}
A[begin]=A[i];
A[i]=tmp;
quickSort(A,begin,i-1);
quickSort(A,i+1,end);
}
void Swap(int A[],int i,int j)
{
int temp;
temp=A[i];
A[i]=A[j];
A[j]=temp;

}

img

img

  • 写回答

1条回答 默认 最新

  • lkyunluoxingchen 2021-10-21 23:57
    关注

    我记得数组不能传参,要传指针。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月24日
  • 已采纳回答 6月16日
  • 创建了问题 10月21日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。