Linear Search是线性查找,顺序查找,在一组相同属性的元素里安装顺序从第一个开始查下去,找到了,停止查找,没找到就继续查找,如果最终没有要查找的元素,反馈为失败。
可以理解为在没有按照姓名首字母顺序打印的电话簿名单里查找某个人。
func linearSearch<T: Equatable>(_ array: [T], _ object: T) -> Int? {
for (index, obj) in array.enumerated() where obj == object {
return index
}
return nil
}
var array = [5, 2, 4, 7]
linearSearch(array, 4)
返回结果为2,[5, 2, 4, 7]
里的元素位置是从0开始的,返回结果2是说在集合的2
位置找到了元素4
linerSearch(array, 10)
返回nil
,表示找不到