From 110780e1fb6c22860f1832b2f6e0106b2baf77ac Mon Sep 17 00:00:00 2001 From: Jean-Loup Beaussart Date: Tue, 24 Feb 2015 10:54:28 +0100 Subject: [PATCH] =?UTF-8?q?Recherche=20s=C3=A9quentielle=20dans=20une=20li?= =?UTF-8?q?ste=20tri=C3=A9e=20et=20ajout=20doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- S2/TP4/tp4.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/S2/TP4/tp4.py b/S2/TP4/tp4.py index 3288c5a..7a36a6b 100644 --- a/S2/TP4/tp4.py +++ b/S2/TP4/tp4.py @@ -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 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) """ @@ -44,7 +45,23 @@ def seq(l, a, b, x): # Jean-loup return (False, 0) 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 """