Рубрики

Программа C ++ для пузырьковой сортировки

Bubble Sort — это самый простой алгоритм сортировки, который работает путем многократного обмена смежными элементами, если они находятся в неправильном порядке.

// Оптимизированная реализация Bubble sort
#include <stdio.h>

  

void swap(int *xp, int *yp)

{

    int temp = *xp;

    *xp = *yp;

    *yp = temp;

}

  
// Оптимизированная версия Bubble Sort

void bubbleSort(int arr[], int n)

{

   int i, j;

   bool swapped;

   for (i = 0; i < n-1; i++)

   {

     swapped = false;

     for (j = 0; j < n-i-1; j++)

     {

        if (arr[j] > arr[j+1])

        {

           swap(&arr[j], &arr[j+1]);

           swapped = true;

        }

     }

  

     // Если два внутренних элемента не были заменены внутренним циклом, то разрыв

     if (swapped == false)

        break;

   }

}

  
/ * Функция для печати массива * /

void printArray(int arr[], int size)

{

    int i;

    for (i=0; i < size; i++)

        printf("%d ", arr[i]);

    printf("n");

}

  
// Программа драйвера для проверки вышеуказанных функций

int main()

{

    int arr[] = {64, 34, 25, 12, 22, 11, 90};

    int n = sizeof(arr)/sizeof(arr[0]);

    bubbleSort(arr, n);

    printf("Sorted array: \n");

    printArray(arr, n);

    return 0;

}

Пожалуйста, обратитесь к полной статье о Bubble Sort для более подробной информации!

Рекомендуемые посты:

Программа C ++ для пузырьковой сортировки

0.00 (0%) 0 votes