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

计数排序的实现

原理

对一个数组进行遍历,再创建一个count数组

每找到一个值则在count数组中对应的位置加一,再在count数组中找到数字上方的count值,count值为几,则打印几次数组中的值.

开空间

相对映射

排序的实现

void CountSort(int* a, int n)
{int min = a[0], max = a[0];for (int i = 1; i < n; i++){if (a[i] < min){min = a[i];}if (a[i] > max){max = a[i];}int range = max - min + 1;int* count = (int*)calloc(range, sizeof(int));if (count == NULL){perror("calloc fail!");}//统计次数for (int i = 0; i < n; i++){count[a[i] - min]++;}//排序int j = 0;for (int i = 0; i < n; i++){while (count[i]--){a[j++] = i + min;}}}

http://www.lryc.cn/news/394188.html

相关文章:

  • 【Qt】QTableWidget设置可以选择多行多列,并能复制选择的内容到剪贴板
  • 跨越界限的温柔坚守
  • Vue3 对于内嵌Iframe组件进行缓存
  • L04_MySQL知识图谱
  • 什么是CNN,它和传统机器学习有什么区别
  • 游戏开发面试题3
  • postman请求访问:认证失败,无法访问系统资源
  • Apache Seata新特性支持 -- undo_log压缩
  • Java中的软件架构重构与升级策略
  • 设置Docker中时区不生效的问题
  • LeetCode436:寻找右区间
  • 前端JS特效第22集:html5音乐旋律自定义交互特效
  • pyrender 离线渲染包安装教程
  • XSS平台的搭建
  • 【持续集成_03课_Jenkins生成Allure报告及Sonar静态扫描】
  • PageHelper分页查询遇到的小问题
  • 【Python】组合数据类型:序列,列表,元组,字典,集合
  • algorithm算法库学习之——不修改序列的操作
  • idea创建的maven项目pom文件引入的坐标报红原因
  • Python面试题:Python 中的生成器(generator)是什么?有什么优点?
  • Go语言--复合类型之map、结构体
  • Stable Diffusion图像的脸部细节控制——采样器全解析
  • CurrentHashMap巧妙利用位运算获取数组指定下标元素
  • 实现antd designable平台的组件拖拽功能
  • 计算机网络-IP组播基础
  • Git删除了文件拉取时失败
  • 【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十二)-管道、环境变量、常用命令
  • Spring Boot与Apache Kafka Streams的集成
  • Unity中使用VectorGraphics插件时,VectorUtils.RenderSpriteToTexture2D方法返回结果错误的解决方法
  • 用MySQL+node+vue做一个学生信息管理系统(一):配置项目