? ? ? ? 线性搜索又称顺序搜索,是一种最简单的搜索方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,记录和给定的K值相等的索引,返回搜索成功的记录;若比较结果与文件中记录的关键字都不相等,则查找失败。
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#
import random
def LinearSearch (arr, x):
counter = 0
null = 0
aidx = []
for i in range (0, len(arr)):
counter += 1
if (arr[i] == x):
aidx.append(i)
else:
null += 1
if null == counter:
return -1
else:
return aidx
arr=[]
arrlen=16
for i in range(arrlen):
arr.append(random.randint(0,arrlen*2))
x = random.randint(0,arrlen)
print ("在数组中:", end=" ")
print (arr)
print ("搜索元素:", end=" ")
print (x)
result = LinearSearch(arr, x)
if result != -1:
print ("搜索元素在数组中的索引为:", end=" ")
print (result )
for i in range (0, len(result)):
print ("arr[%d] 为 %d" % (result[i], arr[result[i]]))
else:
print ("元素不在数组中!!!")
?
|