code: def bubble_sort(arr, simulation=False):
      def swap(i, j):
          arr[i], arr[j] = arr[j], arr[i]
  
      n = len(arr)
      swapped = True
  
      iteration = 0
      if simulation:
          print("iteration", iteration, ":", *arr)
      x = -1
      while swapped:
          swapped = False
          x = x + 1
          for i in range(1, n - x):
              if arr[i - 1] > arr[i]:
                  swap(i - 1, i)
                  swapped = True
                  if simulation:
                      iteration = iteration + 1
                      print("iteration", iteration, ":", *arr)
  
      return arr
  
label_desc: Use image node_id 1 for calling a global function with example usage: bubble_sort(arr, simulation) and returns: arr