interestingibis
11/24/2019 - 12:06 PM

Searching

func binarySearchQuotes(forIdentifier identifier: Int, inArray array: [YourType]) -> YourType {
    
    var min = 0
    var mid = 0
    var max = array.count-1
    
    while min <= max {
        mid = (min + max) / 2
        if array[mid].identifier == identifier {
            return array[mid]
        } else if array[mid].identifier > identifier {
            max = mid - 1
        } else if array[mid].identifier < identifier {
            min = mid + 1
        }
    }
    
    // Default incase not found
    print("identifier not found")
    return array[0]
    
}
func linearSearchQuotes(forIdentifier identifier: Int, inArray array: [YourType]) -> YourType {
    
    for item in array {
        if item.identifier == identifier {
            return item
        }
    }
    
    // Default incase not found
    print("identifier not found")
    return array[0]
    
}