【算法】基数排序算法的讲解和代码实践

开发者 2024-10-6 11:14:15 46 0 来自 中国
思绪

基数排序也是三个桶排序算法之一,排序过程也是不必要举行比力。
基数排序的主要思绪是:
1、先按个位数差别,把数组中全部元素放到0~9这10个差别的桶中;
2、从桶中按先入先出的次序取出数据,此时数组个位数已经有序,再按照十位,放入桶中;
3、再取出,直到全部位数到进过桶,就完成了整个数组的排序。
别的阐明一下计数排序的实用场景:
1、由于是按位数举行排序的,以是只能排正整数;
2、数组中的元素隔断越小越好。比如假如有一个数组是[1, 2, 111111111],如许固然只有一个数有9位,但是全部数都要跟着入桶。
讲解

有数组如下:


我们先按各位给全部数字入桶,入桶后如下:

2.png
第一次按个位数入桶后,从桶中把数取出得到如下数组:

然后按照十位数举行第二次入桶:

4.png
再次取出,得到数组如下:

下面举行百位数的末了一次入桶使用:

末了取出,排序完成:
实现
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 21:32, Processed in 0.150825 second(s), 36 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表