七只章鱼 2022-06-29 19:50 采纳率: 0%
浏览 46

c语言怎么统计基数排序的比较次数和赋值次数?

如何用c语言统计基数排序所进行的数组元素间比较次数、赋值次数(不统计辅助操作,即不统计循环控制变量等的操作次数)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void RadixSort(int *a,int length)
{
int i,max=a[0],base=1;
for(i=1;i<length;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
int t=(int)malloc(sizeof(int)length);
while(max/base>0)
{
int bucket[10]={0};
for(i=0;i<length;i++)
{
bucket[a[i]/base%10]++;
}
for(i=1;i<10;i++)
{
bucket[i]+=bucket[i-1];
}
for(i=length-1;i>=0;i--)
{
t[bucket[a[i]/base%10]-1]=a[i];
bucket[a[i]/base%10]--;
}
for(i=0;i<length;i++)
{
a[i]=t[i];
}
base=base
10;
}
}
这是我写的基数排序代码,想知道怎么改可以统计比较次数和赋值次数

  • 写回答

1条回答 默认 最新

  • 接着奏乐吧 2022-06-30 16:04
    关注

    哪来的这种奇奇怪怪的问题

    评论

报告相同问题?

问题事件

  • 创建了问题 6月29日

悬赏问题

  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数