C语言中,不知算法系列之计数排序算法的计数之巧,究竟有何独到之处?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3107个文字,预计阅读时间需要13分钟。
1. 前言+计数排序是一种简单的排序算法,其基本思想是利用数组索引的有序性进行排序。例如,对如下原始数组中的数据进行排序:int nums[5]={9, 1, 7, 6, 8};使用计数排序的基本思想对数据进行排序。
1. 前言
计数排序是较简单的排序算法,其基本思想是利用数组索引号有序的原理。
如对如下的原始数组中的数据(元素)排序:
//原始数组
int nums[5]={9,1,7,6,8};
使用计数排序的基本思路如下:
- 创建一个
排序数组。数组的大小由原始数组的最大值决定,如原始数组的最大值为9,则排序数组的长度为9+1。为什么排序数组的长度需要如此设置,后文将做解释。
int sortNums[10]={0}; //初始化值为 0
-
读取原始数组中的
数据,以此数据作为排序数组的索引号,此数据出现的次数为排序数组的值。这也解释了为什么排序数组的长度必须是原始数组中最大值加
1。因为排序数组必须能为原始数组中的最大值提供索引号。
本文共计3107个文字,预计阅读时间需要13分钟。
1. 前言+计数排序是一种简单的排序算法,其基本思想是利用数组索引的有序性进行排序。例如,对如下原始数组中的数据进行排序:int nums[5]={9, 1, 7, 6, 8};使用计数排序的基本思想对数据进行排序。
1. 前言
计数排序是较简单的排序算法,其基本思想是利用数组索引号有序的原理。
如对如下的原始数组中的数据(元素)排序:
//原始数组
int nums[5]={9,1,7,6,8};
使用计数排序的基本思路如下:
- 创建一个
排序数组。数组的大小由原始数组的最大值决定,如原始数组的最大值为9,则排序数组的长度为9+1。为什么排序数组的长度需要如此设置,后文将做解释。
int sortNums[10]={0}; //初始化值为 0
-
读取原始数组中的
数据,以此数据作为排序数组的索引号,此数据出现的次数为排序数组的值。这也解释了为什么排序数组的长度必须是原始数组中最大值加
1。因为排序数组必须能为原始数组中的最大值提供索引号。

