Данный алгоритм является достаточно простым и поэтому получил широкое распространение. Вычислительная сложность алгоритма квад- ратичная – O(n2), поэтому алгоритм эффективен только на небольших массивах данных.
Алгоритм проходит все элементы массива и попарно сравнивает их друг с другом. Если порядок сравниваемых элементов неверный, алго- ритм меняет элементы местами:
// Сортировка пузырьком
void BubbleSort(ref int[] Array)
{
// Перебираем элементы массива (без последнего) for (int i = 0; i < Array.Length – 1; i++)
// Перебираем все элементы справа от i
for (int j = i + 1; j < Array.Length; j++)
// Правильный ли порядок элементов? if (Array[i] > Array[j])
{
// Нет – меняем порядок int t = Array[i]; Array[i] = Array[j]; Array[j] = t;
}
}
Достарыңызбен бөлісу: |