欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

看动画学算法之:排序-count排序

程序员文章站 2022-07-02 08:54:55
今天我们介绍一种不需要作比较就能排序的算法:count排序。count排序是一种空间换时间的算法,我们借助一个外部的count数组来统计各个元素出现的次数,从而最终完成排序。...

简介

今天我们介绍一种不需要作比较就能排序的算法:count排序。

count排序是一种空间换时间的算法,我们借助一个外部的count数组来统计各个元素出现的次数,从而最终完成排序。

count排序的例子

count排序有一定的限制,因为外部的count数组长度是和原数组的元素范围是一致的,所以count排序一般只适合数组中元素范围比较小的情况。

我们举一个0-9的元素的排序的例子:3,4,2,5,6,2,4,9,1,3,5。

先看一个动画,看看是怎么排序的:

看动画学算法之:排序-count排序

count数组里面存放的是从0到9这些元素出现的次数。

我们遍历原始数组,遇到相应的数字就给相应的count+1。

等所有的元素都count之后,再根据count数组中的值还原排序过后的数组。

count排序的java实现

count排序很简单,我们主要掌握下面两个大的步骤:

  1. 遍历原始数组,构建count数组。
  2. 根据count数组中的count

本文地址:https://blog.csdn.net/superfjj/article/details/107553708