当前位置: 首页 > news >正文

非比较排序——计数排序

计数排序

计数排序是非比较排序

void CountSort(int *a,int n)
{//找范围int min=a[0],max=a[0];for(int i=0;i<n;i++){if(a[i]<min){min=a[i];}if(a[i]>max){min=a[i];}}int range=max-min+1;//创建计数用的数组int *count=(int *) malloc(range* sizeof(int));//计数数组的元素全部初始化为0memset(count,0, sizeof(int )*range);//这个是库里面的函数//遍历数组a,计数,这是属于相对映射for(int i=0;i<n;i++){count[a[i]-min]++;}//排序,遍历计数数组,将数据按照顺序赋值给原数组aint j=0;for(int i=0;i<range;i++){while(count[i]--){a[j++]=i+min;}}
}

在这里插入图片描述
在这里插入图片描述

相关文章:

  • GitHub创建远程仓库
  • 【Win】 cmd 执行curl命令时,输出 ‘命令管道位置 1 的 cmdlet Invoke-WebRequest 请为以下参数提供值: Uri: ’ ?
  • 力扣刷题Day 20:柱状图中最大的矩形(84)
  • 万物对接大模型:【爆火】MCP原理与使用指南
  • 广东水利水电安全员 B 证考试精选题
  • AutoSAR从概念到实践系列之MCAL篇(一)——MCAL架构及其模块详解
  • http请求和websocket区别和使用场景
  • o3和o4-mini的升级有哪些亮点?
  • 纯CSS实现自动滚动到底部
  • C++ 二叉搜索树
  • 安装多个DevEco Studio版本,如何才能保证各个版本不冲突?
  • 「仓颉编程语言」Demo
  • 网络互连与互联网3
  • 从零到精通:用 GoFrame 和 go-resty 优雅调用第三方 HTTP API
  • 消息队列生产者投递的高可靠性与一致性保障方案
  • 【Linux】深入理解Linux文件系统:从C接口到内核设计哲学
  • MCP 协议:技术架构与核心机制深度解析——为智能时代打造统一“接口”
  • Linux | I.MX6ULL Uboot 编译(12)
  • opencv函数展示3
  • IntelliSense 已完成初始化,但在尝试加载文档时出错
  • 人民日报:对科研不端行为加大惩处力度,让造假成本远高于收益
  • 85岁眼科专家、武汉大学人民医院原眼科主任喻长泰逝世
  • 错失两局领先浪费赛点,王楚钦不敌雨果无缘世界杯男单决赛
  • 2025扬州“烟花三月”国际经贸旅游节开幕,37个重大项目现场签约
  • 19岁癫痫患者植入脑机接口后,“脑控”玩上了“黑悟空”
  • 陕西省委深入贯彻中央八项规定精神学习教育工作专班召开会议