Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sortList = [1,4,4,5,6,7,8,8.5,8.6,9,11,133]
- value = 1
- def binSearch(value,myList):
- left = 0
- right = len(myList) - 1
- found = False
- mid = int((left + right)/2)
- while value != myList[mid]:
- mid = int((left + right)/2)
- if myList[mid] > value:
- right = mid
- elif myList[mid] < value:
- left = mid
- mid = int((left + right)/2)
- if left == mid:
- found=False
- pnt1 = value - myList[mid]
- pnt2 = myList[mid+1] - value
- if pnt2 < pnt1:
- mid += 1
- return mid,found
- elif value == myList[mid]:
- while value == myList[mid+1]:
- mid += 1
- found = True
- found = True
- return mid,found
- answer,found = binSearch(value,sortList)
- if found == True:
- print("Value found at " + str(answer))
- if found == False:
- print("Nearest value at " + str(answer))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement