函数的设计思路是将有一定功能的代码块包装在一起,通过函数名实现复用。闭包和函数有着类似的作用,然而闭包的设计大多数情况下并不是为了代码的复用,而是传递功能代码块和处理回调结构。
如下代码所示,使用了冒泡排序算法来进行排序操作。
func mySort(array:inout Array<Any>,sortClosure:(Int,Int)->Bool)->Array<Any>
{
for indexI in array.indices {
if indexI == array.count - 1{
break
}
for indexJ in 0...(array.count - 1 - indexI - 1) {
if sortClosure(indexJ,indexJ + 1){
}
else{
swap(&array[indexJ], &array[indexJ + 1])
}
}
}
return array
}
var array:Array<Any> = [1,2,3,4,5,6,7,8,9]
let finalArr = mySort(array: &array,sortClosure: { (index:Int, nextIndex:Int) -> Bool in
return (array[index] as! Int) > (array[nextIndex] as! Int)
})
print(finalArr)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有