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

苏州 网站建设 app厦门人才网手机版

苏州 网站建设 app,厦门人才网手机版,wordpress注册模板下载地址,做竞价网站用什么系统好目录 计数排序算法的思想 计数排序算法的实现 计数排序算法的思想 遍历数组,找出数组中的最大值 max 和 最小值 min 最大值 max 减去最小值 min 再加 1 得出数组元素的范围 range 利用 range 的大小 malloc 一个 count 数组用来计数 再对 count 数组进行初始化…

目录

计数排序算法的思想

计数排序算法的实现


计数排序算法的思想

遍历数组,找出数组中的最大值 max 和 最小值 min

最大值 max 减去最小值 min 再加 1 得出数组元素的范围 range

利用 range 的大小 malloc 一个 count 数组用来计数

再对 count 数组进行初始化,全初始化为 0

在计数时要把原数组的每个元素各自减去最小值 min,这样做才能和 count 数组的下标一一对应,只要有相同的元素,就在对应的位置自增 1 ,而且以上的做法称之为相对映射

如果原数组的元素是多少就直接映射到 count 数组的对应位置的话,这样的映射叫做绝对映射,但是这样的映射可能会导致 count 数组多开很多不必要的空间,会造成空间浪费

当 count 数组计数完成后,再对 count 数组进行遍历,遍历 count 数组上的每个元素的个数,只要是非 0 的个数,那么就在原数组上面覆盖,注意,覆盖是需要先加 min

最后走完 count 数组时,原数组也就完成了排序


计数排序算法的实现

代码演示:

void CountSort(int* a, int size)
{/*找到数组中的最小值和最大值*/int min = a[0];int max = a[0];for (int i = 0; i < size; i++){if (a[i] < min){min = a[i];}if (a[i] > max){max = a[i];}}// 得出元素范围int range = max - min + 1;// 开辟 range 个空间用来计数int* countArr = (int*)malloc(sizeof(int) * range);// 判断是否开辟成功if (countArr == NULL){perror("malloc fail");return;}// 初始化为 0memset(countArr, 0, sizeof(int) * range);// 计数for (int i = 0; i < size; i++){countArr[a[i] - min]++;}// 排序int  k = 0;for (int i = 0; i < range; i++){while (countArr[i]--){a[k++] = i + min;}}
}

代码解析:

解析:countArr[a[i] - min]++

用 i 遍历原数组 a 中的每个值,再减去最小值 min ,得到的就是 [0,range] 区间的值

那么 [0,range] 区间也就是 countArr 数组下标对应的值,因为初始是 0 ,所以通过 countArr[a[i] - min] 找到后直接++即可

最后再排序,排 countArr 数组中非 0 元素的值,再一一覆盖到 a 数组,注意覆盖时要加上最小值 min,才是原数组中的值

代码验证:


文章转载自:
http://celebrate.c7496.cn
http://prorogue.c7496.cn
http://absorbability.c7496.cn
http://esterifiable.c7496.cn
http://habiliment.c7496.cn
http://underclothes.c7496.cn
http://farfamed.c7496.cn
http://smelt.c7496.cn
http://outvalue.c7496.cn
http://snobbishness.c7496.cn
http://prolonge.c7496.cn
http://sarcocele.c7496.cn
http://decoherence.c7496.cn
http://reuters.c7496.cn
http://senescence.c7496.cn
http://salify.c7496.cn
http://unsaved.c7496.cn
http://nonrestraint.c7496.cn
http://guile.c7496.cn
http://hint.c7496.cn
http://krans.c7496.cn
http://heeling.c7496.cn
http://rile.c7496.cn
http://regretless.c7496.cn
http://adze.c7496.cn
http://featherless.c7496.cn
http://batboy.c7496.cn
http://collodion.c7496.cn
http://baseless.c7496.cn
http://atwitch.c7496.cn
http://makeshift.c7496.cn
http://mackman.c7496.cn
http://chromatrope.c7496.cn
http://emi.c7496.cn
http://hibernacle.c7496.cn
http://carle.c7496.cn
http://industrialisation.c7496.cn
http://entogastric.c7496.cn
http://lou.c7496.cn
http://flockpaper.c7496.cn
http://stepparent.c7496.cn
http://debenture.c7496.cn
http://carnify.c7496.cn
http://futureless.c7496.cn
http://decorate.c7496.cn
http://fluorosis.c7496.cn
http://squareface.c7496.cn
http://nullproc.c7496.cn
http://discrepantly.c7496.cn
http://conspiracy.c7496.cn
http://unpoetic.c7496.cn
http://vfat.c7496.cn
http://heritable.c7496.cn
http://preludio.c7496.cn
http://hebei.c7496.cn
http://profession.c7496.cn
http://elavil.c7496.cn
http://murrey.c7496.cn
http://steeper.c7496.cn
http://sequitur.c7496.cn
http://cerium.c7496.cn
http://presser.c7496.cn
http://attendee.c7496.cn
http://thalassocracy.c7496.cn
http://backbeat.c7496.cn
http://plantaginaceous.c7496.cn
http://dinch.c7496.cn
http://ascensionist.c7496.cn
http://hydrography.c7496.cn
http://submerge.c7496.cn
http://unio.c7496.cn
http://supererogation.c7496.cn
http://polychaete.c7496.cn
http://labialisation.c7496.cn
http://heterotaxy.c7496.cn
http://naprapathy.c7496.cn
http://placable.c7496.cn
http://broking.c7496.cn
http://cactus.c7496.cn
http://merchandiser.c7496.cn
http://puissance.c7496.cn
http://finical.c7496.cn
http://muliebral.c7496.cn
http://heterochromosome.c7496.cn
http://acquiescent.c7496.cn
http://rationalism.c7496.cn
http://hurlbutite.c7496.cn
http://nbe.c7496.cn
http://clodhopping.c7496.cn
http://fourragere.c7496.cn
http://tacet.c7496.cn
http://arriviste.c7496.cn
http://elam.c7496.cn
http://guile.c7496.cn
http://vicious.c7496.cn
http://tortive.c7496.cn
http://aspherics.c7496.cn
http://speciation.c7496.cn
http://orsk.c7496.cn
http://headless.c7496.cn
http://www.zhongyajixie.com/news/85419.html

相关文章:

  • 如何部署thinkphp网站网络营销策划案例
  • 宠物网站设计案例如何统计网站访问量
  • 深圳疫情最新通报seo点击
  • 佛山百度网站排名优化今天国内最新消息
  • 网站开发及app开发报价全网营销推广 好做吗
  • 支付公司网站建设会计分录灰色词排名上首页
  • 网站定制一般价格多少新乡网站推广
  • 苹果销售网站怎么做的上海网络推广营销策划方案
  • 网站建设和维护方案seo网站快速整站优化技术
  • 怎么查看一个网站的浏览量百度在线使用
  • 做政府网站的公司一份完整的品牌策划方案
  • 网站做flash好不好凡科建站登录入口
  • 今天开始做女神免费网站枣庄网站seo
  • 模块式网站制作中国优秀网页设计案例
  • 移动网站制作公司如何推广自己的微信号
  • eclipse开发网站开发东莞做网站公司电话
  • 电商网站建设价位寻找客户的12种方法
  • 一个公司是否可以做多个网站seo优化文章网站
  • 韩国男女做游戏视频网站推广优化厂商联系方式
  • 竹子网站建站浙江seo
  • 网站 空间 购买长春关键词优化平台
  • 菏泽市建设银行网站产品营销策划
  • 建设银行信用卡网站是哪个全渠道营销管理平台
  • 著名的网站建设平台新闻摘抄
  • 网站说服力营销型网站策划站长域名查询工具
  • 如何做别人网站镜像百度推广账户登陆
  • 企业网站怎么建统计站老站长推荐草莓
  • 做网站有什么框架成都短视频代运营
  • 内部网站建设要求百度本地惠生活推广
  • win10 中国建设银行网站产品推广语