Recherche séquentielle dans une liste triée et ajout doc
This commit is contained in:
parent
cffa739a02
commit
110780e1fb
|
@ -29,6 +29,7 @@ def seq(l, a, b, x): # Jean-loup
|
||||||
"""
|
"""
|
||||||
Recherche séquentielle de l'élément x dans la liste l, entre les borne a et b, b étant exclu
|
Recherche séquentielle de l'élément x dans la liste l, entre les borne a et b, b étant exclu
|
||||||
list(x), int, int, x → (bool, int)
|
list(x), int, int, x → (bool, int)
|
||||||
|
Renvoie True et l'emplacement de x dans l, si x a été trouvé, sinon (False, 0)
|
||||||
CU: 0 <= a < b <= len(l)
|
CU: 0 <= a < b <= len(l)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -44,7 +45,23 @@ def seq(l, a, b, x): # Jean-loup
|
||||||
return (False, 0)
|
return (False, 0)
|
||||||
|
|
||||||
def seqTrie(l, a, b, x): # Jean-loup
|
def seqTrie(l, a, b, x): # Jean-loup
|
||||||
return None
|
"""
|
||||||
|
Recherche séquentielle de l'élément x dans la liste l triée, entre les bornes a et b, b étant exclu
|
||||||
|
list(x), int, int, x → (bool, int)
|
||||||
|
Renvoie True et l'emplacement de x dans l, si x a été trouvé, sinon (False, 0)
|
||||||
|
CU: l est triée et 0 <= a < b <= len(l)
|
||||||
|
"""
|
||||||
|
|
||||||
|
assert(a >=0 and b > a and b <= len(l))
|
||||||
|
|
||||||
|
i=a
|
||||||
|
|
||||||
|
while i < b and l[i] < x:
|
||||||
|
i +=1
|
||||||
|
if i < b and l[i] == x:
|
||||||
|
return (True, i)
|
||||||
|
else:
|
||||||
|
return (False, 0)
|
||||||
|
|
||||||
def dicho(l, a, b, x): # Geoffrey
|
def dicho(l, a, b, x): # Geoffrey
|
||||||
"""
|
"""
|
||||||
|
|
Reference in a new issue