from random import randint n = int(input('Anzahl der Datenelemente = ')) a = list(range(1,n+1)) for i in range(0,n): a[i]= randint(1,1000) print('Quelliste: ') print(a) # Sortieren for j in range(0,n-1): min = a[j] for i in range(j+1,n): if a[i] < min: min = a[i] a[i] = a[j] a[j] = min print('sortierte Liste: ') print(a) print() value = int(input('gesuchte Zahl: ')) # Falls es im Array a eine Komponente a[i] gibt mit value = a[i], # gibt binarysearch genau diesen Index unter dem Namen 'index' aus; # andernfalls erfolgt die Ausgabe 'nicht gefunden' found = False def binarysearch(array, value): global found lowerindex = 0 upperindex = len(a) while lowerindex < upperindex: midindex = lowerindex + (upperindex - lowerindex)//2 if array[midindex] == value: found = True return midindex elif array[midindex] < value: lowerindex = midindex + 1 else: upperindex = midindex index = binarysearch(a, value) if found: print('gefundener Index:',index) print('a[',index,'] =',a[index]) else: print('nicht gefunden')