Страницы

среда, 13 июня 2012 г.

Сортировка пузырьком

Сортировка простыми обменами, сортиро́вка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n²).

Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим наибольшим элементом, а наименьший элемент перемещается на одну позицию к началу массива.

Пример:
int* BubbleSort(int* Array, int SizeArray)
{
    int i=0;
    int j=0;
    int tmp=0;

    for(j=1; j<SizeArray-1; j++)
    {
        for(i=0; i<SizeArray-1; i++)
        {
            if(Array[i]<Array[i+1])
            {
                tmp=Array[i];
                Array[i]=Array[i+1];
                Array[i+1]=tmp;
            }
        }
    }

    return Array;
}

Wiki: Сортировка пузырьком

Комментариев нет:

Отправить комментарий