地精排序算法讲解

地精,这个名字我也很意外,好吧,可能是翻译的问题吧,我们不要过多纠结

和冒泡比较像,数字往前冒,一旦遇到比小的,则互换位置,往回冒,然后继续往前冒

举个例子

10, 12, 7, 5

先取10,这时候下标为0,不比较,下标0=》1

取12,12跟10比,12比10大,保持原型,下标1=》2

取7,7和前面的数12比,7比12小,互换位置,得到[10, 7, 12, 5],下标2=》1

取7,7和前面的数10比,7比10小,互换位置,得到[7, 10, 12, 5],下标1=》0

取7,这时候下标是0,不比较,下标0=》1

取10,10跟7比,10比7大,保持原型,下标1=》2

取12,12跟10比,12比10大,保持原型,下标2=》3

取5,5和12比,5比12小,互换位置,得到[7, 10, 5, 12],下标3=》2

取5,5和10比,5比10小,互换位置,得到[7, 5, 10, 12],下标2=》1

取5,5和7比,5比7小,互换位置,得到[5, 7, 10, 12],下标1=》0

取5,下标是0,不比较,下标0=》1

取7,7比5大,保持原型,下标1=》2

取10,10比7大,保持原型,下标2=》3

取12,,12比10大,保持原型,下标+1变为4,因为4和数组的长度一样,循环结束

最终结果是[5, 7, 10, 12]

代码实现

java实现地精排序

python实现地精排序

go实现地精排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值