伪代码:
Line_Search(A,key)
for j <- 1 to length[A]
do if A[j] == key
return j
break
return error
循环不变式证明:
初始化:此时j = 1,而子数组为A[1..j-1]。它只包含一个元素A[1],而之前,即空数组不包含关键字key是显而易见的,而当前值与子数组可能包含关键字。
保持:每一轮循环结束时,A[j]之前的数组已判定不包含关键字,而A[j]与A[j]之后的内容,可能包含关键字。
终止:当找到第一个关键字时,返回当前j值,跳出循环。或所有数组内容判定完毕,均无关键字,返回没有该值的标记,循环自然结束。