def sequefind(l,x):
k=0
while k<=len(l)-1 and x!=l[k]:
k=k+1
if k>len(l)-1:
return 0
else:
return k
s=[1,4,5,6,7]
while(1):
key=int(input("input your want number"))
n=sequefind(s,key)
if n==0:
print("not found!")
else:
print(key,"IS",n+1,"element")
顺序查找改进版函数:
def improveseque(l,x):
l[0]=x
k=len(l)-1
while x!=l[k]:
k=k-1
return k
#用for的方式写出来
def simseq(l,s):
i=0
for value in l:
if value==s:
return i
i+=1
else:
return -1
l=[1,4,5,6,7]
key=int(input("input your want number"))
n=simseq(l,key)
if n==-1:
print("not found!")
else:
print(key,"IS",n+1,"element")
#哨兵查找
def reserch(l,v):
l.append(v)
i=0
while l[i]!=v:
i=i+1
else:
l.pop()
return i
l=[1,4,5,6,7]
key=int(input("input your want number"))
n=reserch(l,key)
if n>len(l)-1:
print("not found!")
else:
print(key,"IS",n+1,"element")