- Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBinarySearch.py
More file actions
Latest commit
34 lines (26 loc) · 1.01 KB
/
Copy pathBinarySearch.py
File metadata and controls
34 lines (26 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#Vijesh.V @FreakoutGames
#Binary Serach
defBinarySearch(elementToSearch, startIndex, endIndex):
ifendIndex>=startIndex:
midIndex=int((startIndex+endIndex) /2)
midElement=elementsList[midIndex]
ifmidElement==elementToSearch:
returnmidIndex
elifelementToSearch>midElement:
returnBinarySearch(elementToSearch, midIndex+1, endIndex)
elifelementToSearch<midElement:
returnBinarySearch(elementToSearch, 0, midIndex-1)
else:
return-1
#first get the elements
numberofElements=int(input("Enter Total Number of Elements: "))
elementsList= []
foriinrange(numberofElements):
elementsList.append(int(input("Enter element %d: "% (i+1))))
elementsList.sort()
elementToSearch=int(input("Enter the element to search: "))
result=BinarySearch(elementToSearch, 0, len(elementsList)-1)
ifresult!=-1:
print ("Element is present at index % d"%result)
else:
print ("Element is not present in array")