桶排序
2022/3/5 23:20:31
本文主要是介绍桶排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
桶排序
桶排序的思想是,若待排序的记录的关键字在一个明显有限范围内时,可设计有限个有序桶,每个桶只能装与之对应的值,顺序输出各桶的值,将得到有序的序列。简单来说,在我们可以确定需要排列的数组的范围时,可以生成该数值范围内有限个桶去对应数组中的数,然后我们将扫描的数值放入匹配的桶里的行为,可以看作是分类,在分类完成后,我们需要依次按照桶的顺序输出桶内存放的数值,这样就完成了桶排序。
代码+思路
#include<stdio.h> int main() { int a[10]={0}; //以10个桶为例,必须将10个桶初始值设为0 int n; //要输入的数字个数 scanf("%d",&n); int i,j; for(i=0;i<n;i++) { int key; scanf("%d",&key); a[key]++; //输入key,key会放在a[key]中,同时a[key]++记录了该桶存放的数据+1 } for(i=0;i<10;i++) //这里表示将这10个桶里面的数全部输出,如果写n,则输出到n桶就停止了,如果有比n要大的数字即存放在了n桶后面就无法输出 for(j=0;j<a[i];j++) //小于a[i] ,一个桶里面可能有好几个一样的数字 printf("%d ",i); return 0; }
这篇关于桶排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行