当前位置:   article > 正文

非比较排序算法之计数排序_通过计数排序算法和基于比较的排序算法的比较理解计数排序算法是如何通过非比较操

通过计数排序算法和基于比较的排序算法的比较理解计数排序算法是如何通过非比较操
计数排序
基本思想

计数排序是一个非基于比较的排序算法,又称为鸽巢原理,是对哈希直接定址法的变形应用,该算法于1954年由 Harold H. Seward 提出。它的排序思想是:首先统计相同元素的个数,然后将个数存储在用于计数的数组的相应下标位置内,最后根据统计的结果将序列再次回收到原来的序列之中。

排序过程

首先遍历待排序序列,在遍历的同时统计相同元素的出现次数,然后将统计的次数存储到用于计数的数组中,存储时按照元素在整个待排序序列范围的相对位置存储在相应的数组下标内,然后根据统计的结果将序列回收到原来的序列之中。
在这里插入图片描述

C语言代码实现
// 升序排序
void CountSort(int* a, int n)
{
   
	int min = a[0], max = a[
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/913072
推荐阅读
相关标签
  

闽ICP备14008679号