| 
 
 ? ? ? ? 线性搜索又称顺序搜索,是一种最简单的搜索方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,记录和给定的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 ("元素不在数组中!!!")
  
   
? 
                
        
        
    
 
 |