input: Write a function to sort an array of n distinct integers using the insertion sort algorithm. If the array is empty, return an empty array.
  def insertion_sort(arr):
      if not arr:
          return []
      for i in range(1, len(arr)): 
          key = arr[i] 
          j = i-1
          while j >= 0 and key < arr[j]: 
              arr[j + 1] = arr[j] 
              j -= 1
          arr[j + 1] = key
      return arr
  
  assert insertion_sort([64, 34, 25, 12, 22, 11, 90]) == [11, 12, 22, 25, 34, 64, 90]
  assert insertion_sort([5, 3, 8, 4, 6]) == [3, 4, 5, 6, 8]
  assert insertion_sort([2, 5, 6, 1, 3]) == [1, 2, 3, 5, 6]
  assert insertion_sort([]) == []
  assert insertion_sort([1, 2, 3, 4, 5]) == [1, 2, 3, 4, 5]
output: def insertion_sort(arr):
      if not arr:
          return []
      for i in range(1, len(arr)): 
          key = arr[i] 
          j = i-1
          while j >= 0 and key < arr[j]: 
              arr[j + 1] = arr[j] 
              j -= 1
          arr[j + 1] = key
      return arr