珠排序
来源:互联网 发布:怎么注销域名备案 编辑:程序博客网 时间:2024/04/20 10:42
原文:http://www.cnblogs.com/kkun/archive/2011/11/23/2260301.html
一个数字9用9个1来表示,珠排序中的珠指的是每一个1,它把每一个1想像成一个珠子,这些珠子被串在一起,想像下算盘和糖葫芦
图1
上图1中的三个珠就表示数字3,两个珠表示数字2,这个OK了继续,这里的3和2都叫bead
图2
图2(a)中有两个数字,4和3,分别串在四条线上,于是数字4的最后一个珠子下落,因为它下边是空的,自由下落后变成图2(b)
图2(c)中随机给了四个数字,分别是3,2,4,2,这些珠子自由下落,就变成了(d)中,落完就有序了,2,2,3,4
以上就是珠排序的精华
图3
上图3中的n表示待排序数组的长度,有多少数字就有多少层,横向表示一层
m表示有多少个珠子,就是多少个1,这取决于最大数是几
比如待排数组[6 2 4 1 5 9]
让珠子全部做自由落体运动
9没有什么好落的,它在最底层
5也没有什么好落的,全部有支撑点
1同样不需要滑落
4除了第一个珠子不动外,其它三颗全部下落,落到1的位置变成下边这样
过程的细节不画了,原则就是你下边有支点,你就不用再滑落了,最后变成下边这样,排序完毕
从上到下顺序输出即可得到结果:[ 1 2 4 5 6 9]
0 0
- 珠排序
- 珠排序
- 珠排序
- 排序算法之珠排序
- 经典排序算法 - 珠排序Bead Sort
- 珠排序Bead Sort
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 游戏中的网络同步机制——Lockstep(转载)
- 对Bundle savedInstanceState, PersistableBundle persistentState的详解
- 根据经纬度计算球面距离
- 修改UA在PC中访问只能在微信中打开的链接
- 求职面试心经40条——谨记原则
- 珠排序
- 通过反射获取类和父类的属性和属性值
- 程序员的浪漫-我的心
- 浙大PAT甲级 1028
- 纯css图形
- 屏蔽Android4.0.3平板底部状态栏
- 运行时,看有哪些成员变量
- 关于(git)SourceTree 的使用问题
- IPv6 and App Review。app上线IPV6审核不通过