object LinearSearch {
fun <E> linearSearch(arr: Array<E>, target: E): Int {
for ((index, e) in arr.withIndex()) {
if (e == target) {
return index
}
}
return -1
}
}
时间复杂度O(n)
public static <E> int search(E[] data, E target) {
for (int i = 0; i < data.length; i++) {
if (data[i].equals(target)) {
return i;
}
// 循环体:维持循环不变量
}
// data[0...i-1]中没有找到目标
// 循环变量
return -1;
}
Q.E.D.