Yes, this algorithm has a name. It is called binary search.

Here is a Python code that implements binary search recursively:

```python
def binary_search(arr, low, high, target):
    if low > high:
        return -1
    mid = (low + high) // 2
    if arr[mid] == target:
        return mid
    elif arr[mid] < target:
        return binary_search(arr, mid + 1, high, target)
    else:
        return binary_search(arr, low, mid - 1, target)

def main():
    arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    target = 6
    result = binary_search(arr, 0, len(arr) - 1, target)
    if result != -1:
        print(f"Found {target} at position {result}")
    else:
        print(f"{target} not found")

main()
```

This code will output:

```
Found 6 at position 4
```

If you change the target value to something that is not in the list, it will output:

```
6 not found
```

This demonstrates the functionality of the binary search algorithm in Python.