Cod sursa(job #2477093)

Utilizator ruxandramateiMatei Ruxandra ruxandramatei Data 19 octombrie 2019 17:16:40
Problema Cautare binara Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.93 kb
# Given a sorted array arr[] of n elements, write a function 
# to search a given element x in arr[].

def binarySearch(array, value, left, right):
    if(left > right):
        return -1

    middle = (left + right) // 2

    if array[middle] == value:
        return middle
    elif array[middle] > value:
        binarySearch(array, value, left, middle - 1)
    else:
        binarySearch(array, value, middle + 1, right)

def readFromFile(array):
    with open('data.input', 'r') as fp:
        n, value = [int(x) for x in next(fp).split()]
        for line in fp:
            array.extend([int(x) for x in line.split()])
        fp.close()
    return n, value

def printToFile(value):
    fp = open("data.output", "w")
    fp.write(value.__str__())
    fp.close()

def main():
    array = []
    n, value = readFromFile(array)
    position = binarySearch(array, value, 0, n - 1)
    printToFile(position)

if __name__ == '__main__':
    main()