def selection_sort(data):
    """Sort a list of unique numbers in ascending order using selection sort. O(n^2).
    
    The process includes repeatedly iterating through a list, finding the smallest element, and sorting that element.
    
    Args:
        data: data to sort (list of int)
    Returns:
        sorted list
    """

    sorted_data = data[:]
    
    for i, value in enumerate(sorted_data):
        # find smallest value in unsorted subset
        min_value = min(sorted_data[i:])
        index_min = sorted_data.index(min_value)
        
        # place smallest value at start of unsorted subset
        sorted_data[i], sorted_data[index_min] = min_value, value

    return sorted_data