Python实现线性搜索(linear search)


比如说我有数组data,1000个元素,要从里面找x,线性搜索,就是从头找到尾,依次来看data[0]是否等于x,如果不是data[1],data[2],依次类推,一直找到最后一个。速度最慢,但是适用性最广。

items = [1,2,3,4,5,6,7,8,9,10,11,
        12,14,14,15,16,17,18,19,20]

def linerSearch(lst, x):

    i = 0

    count = len(lst)

    lst.append(x)

    while True:

        if lst[i] == x:

            del lst[count]

            return i if i < count else None

        i += 1

print(linerSearch(items, 1))  # 0

print(linerSearch(items, 7))  # 6

print(linerSearch(items, 19)) # 18

如需转载,请注明出处,本文地址:https://www.perfcode.com/p/1234.html