Σειριακή αναζήτηση σημαίνει ότι ψάχνουμε με τη σειρά ένα σύνολο αριθμών (π.χ. σε λίστα) για να δούμε αν υπάρχει ένας συγκεκριμένος αριθμός.
Ο ένας τρόπος είναι να ψάχνουμε πάντα όλους τους αριθμούς ως το τέλος, ακόμα κι αν έχουμε εντοπίσει τον αριθμό που ψάχνουμε. Εδώ χρησιμοποιούμε for, διότι ο αριθμός των επαναλήψεων είναι γνωστός.
def ser(x,L):
flag=False
for i in range(len(L)):
if L[i]==x:
flag=True
return flag
x=input('Αριθμός')
L=[]
y=input('Αριθμός Λίστας')
while y!=-999:
L.append(y)
y=input('Αριθμός Λίστας')
z=ser(x,L)
print z
Ο άλλος τρόπος είναι να διακόπτουμε την αναζήτηση μόλις βρεθεί ο αριθμός. Εδώ χρησιμοποιούμε while, αφού ο αριθμός των επαναλήψεων δεν είναι δεδομένος.
Η επανάληψη σταματά είτε όταν σηκωθεί η σημαία (flag=True) ή όταν τελειώσουν τα στοιχεία της λίστας (i>=len(L)¨
def ser(x,L):
flag=False
n=len(L)
i=0
while i<n and flag==False:
if L[i]==x:
flag=True
i=i+1
return flag
x=input('Αριθμός')
L=[]
y=input('Αριθμός Λίστας')
while y!=-999:
L.append(y)
y=input('Αριθμός Λίστας')
z=ser(x,L)
print z
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.