`` `
void bubblesort（int arr []、int n）{
  int i、j;
  for（i = 0; i <n-1; i ++）{
    for（j = 0; j <n-i-1; j ++）{
      if（arr [j] arr [j+1]）{
        int temp = arr [j];
        arr [j] = arr [j+1];
        arr [j+1] = temp;
      }
    }
  }
}
`` `

このアルゴリズムは、並べ替える必要がある長さnのarrのarraを取得します。アルゴリズムは次のように機能します。

1.ソートは、arr [0]のarrの最初の要素から始まり、右に右に移動します。

2. 2つの隣接する要素がarr [j]とarr [j+1]と比較されます。

3. arr [j]がarr [j+1]以上の場合、それらは場所を変更して、Massifの要素が順番に進むようにします。

4.アルゴリズムは、配列がソートされるまで、場所の要素を比較および変更し続けます。

このアルゴリズムは、各通路で最大の要素がその場所に「ポップアップ」され、水中の泡のように「ソートバブル」と呼ばれていました。
```
void bubbleSort(int arr[], int n) {
  int i, j;
  for (i = 0; i < n-1; i++) {
    for (j = 0; j < n-i-1; j++) {
      if (arr[j] > arr[j+1]) {
        int temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
      }
    }
  }
}
```

Этот алгоритм принимает на вход массив arr длиной n, который нужно отсортировать. Алгоритм работает следующим образом:   

1.	Начинается сортировка с первого элемента массива arr[0], продвигаясь по массиву вправо.   

2.	Сравниваются два соседних элемента arr[j] и arr[j+1].   

3.	Если arr[j] больше arr[j+1], то они меняются местами, чтобы элементы в массиве шли по порядку.   

4.	Алгоритм продолжает сравнивать и менять элементы местами пока массив не будет отсортирован.   

Этот алгоритм получил название "сортировка пузырьком" из-за того, что на каждом проходе наибольший элемент "всплывает" на своё место, как пузырёк в воде.