以下のコードを作成するものを説明してください：
`` `
def bubblesort（arr）：
    n = len（arr）
    交換= false
    範囲のIの場合（N-1）：
        範囲のjの場合（0、n-i-1）：
            arr [j] arr [j + 1]の場合：
                交換= true
                arr [j]、arr [j + 1] = arr [j + 1]、arr [j]
         
        交換されていない場合：
            戻る
`` `
Объясни что делает код ниже:
```
def bubbleSort(arr):
    n = len(arr)
    swapped = False
    for i in range(n-1):
        for j in range(0, n-i-1):
            if arr[j] > arr[j + 1]:
                swapped = True
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
         
        if not swapped:
            return
```