def linearsearch(arr, x):
for i in range(len(arr)):
if arr[i] == x:
return i
return -1
arr = [1,2,3,4,5,6,7,8]
x = 4
print("element found at index "+str(linearsearch(arr,x)))
def linear_search(a, key):
position = 0
flag = False
while position < len(a) and not flag:
if a[position] == key:
flag = True
else:
position = position + 1
return flag
#this is really basic, but it'll do
Array = [1,2,3,4,5,6,7,8] #example array
def LinearSearch(Array, SearchVal): #SearchVal= value you are looking for
for i in range(len(Array)):
if Array[i]== SearchVal:
return True
return False
#once it has looped through all of the array and hasn't found
#the search value, it will return False.
"""
Ordered Linear Search
- This version searches for 1 item, and returns all the occurrences of it
"""
def ord_lin(lst, item):
found = []
# Search list up to larger number, and get all indices where its found
for i, num in enumerate(lst):
if num > item:
break
elif num == item:
found.append(i)
return found
# Linear Search:
"""
Another classic example of a brute force algorithm is Linear Search.
This involves checking each item in a collection to see if it is the
one we are looking for.
In Python, it can be implemented like this:
"""
arr = [42,2,3,1,4,6]
search_n = 2
for position, item in enumerate(arr):
if item == search_n:
print("%d The searching number is at position %d inside the array."%(search_n,position+1))
break
else:
print("Sorry! Not Found.")
"""
Of course there are many different implementations of this algorithm.
I like this one because it makes use of Python’s very handy enumerate function.
Regardless of the details of the implementation,
the basic idea remains the same – iterate through the collection (in the case above, a Python list),
and check if each item is the target.I like to use the variable names search_n and array from the
expression looking for a search_n in a array.
"""
def locate_card(cards, query):
# Create a variable position with the value 0
position = 0
# Set up a loop for repetition
while True:
# Check if element at the current position matche the query
if cards[position] == query:
# Answer found! Return and exit..
return position
# Increment the position
position += 1
# Check if we have reached the end of the array
if position == len(cards):
# Number not found, return -1
return -1