Как да приложим Bubble Sort в C с код



Тази статия ще ви предостави подробни и изчерпателни познания за Bubble Sort in C с алгоритъма и работния код.

Bubble sort в C е прост алгоритъм за сортиране, който многократно сравнява съседните елементи на дадения масив и ги разменя, ако са в грешен ред. Може би се чудите за името Bubble Sort. Следват указанията, обхванати в тази статия:

Какво е сортиране на балончета в C?

Техниката за сортиране се нарича така, защото алгоритъмът действа като балон, по-леките елементи се появяват и по-тежките елементи се утаяват. Алгоритъмът за сортиране на балончета сортира списъка по проходи. Сега за сортиране на списък с n елемента Bubble sort изисква n-1 пропуска. За да стане по-ясно, нека разберем това стъпка по стъпка.





Bubble-Sort-in-C

Алгоритъм на сортиране на балончета

  • Пас 1 :
    • X [0] и X [1] се сравняват и се разменят, ако X [0]> X [1]
    • X [1] и X [2] се сравняват и се разменят, ако X [1]> X [2]
    • X [2] и X [3] се сравняват и се разменят, ако X [2]> X [3] и т.н. & hellip
    • В края на проход 1 най-големият елемент от списъка се поставя в най-високия индекс на списъка.
  • Пропуск 2:
    • X [0] и X [1] се сравняват и се разменят, ако X [0]> X [1]
    • X [1] и X [2] се сравняват и се разменят, ако X [1]> X [2]
    • X [2] и X [3] се сравняват и се разменят, ако X [2]> X [3] и т.н. & hellip
    • В края на Pass 2 вторият по големина елемент от списъка се поставя на втория по височина индекс на списъка.
  • Пас n-1:
    • X [0] и X [1] се сравняват и се разменят, ако X [0]> X [1]
    • X [1] и X [2] се сравняват и се разменят, ако X [1]> X [2]
    • X [2] и X [3] се сравняват и се разменят, ако X [2]> X [3] и т.н. & hellip
    • В края на този проход. Най-малкият елемент от списъка се поставя в първия индекс на списъка.

Пример за сортиране на балончета в C

Масив: -5, 35, 2, 13, -15



Пас 1

  • ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Тук алгоритъмът сравнява първите два елемента.
  • (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), разменете от 35> 2
  • (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), разменете от 35> 13
  • (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Разменете от 35> -15

Последният елемент е най-големият елемент.

Пас 2



  • ( -5, 2 , 13, -15, 35) -> (- 5, 2 , 13, -15, 35)
  • (-5, 2, 13, 35, -15) -> (-5, 2, 13 , -15, 35)
  • (-5, 2, 13, -15 , 35) -> (-5, 2, -15, 13 , 35), Разменете от 13> -15

Вторият последен елемент е вторият по големина елемент.

извлечения за контрол на потока в java

Пас 3

  • ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
  • (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), разменете от 2> -15

Третият последен елемент е третият по големина елемент.

Пас 4

  • ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), разменете от -5> -15

В крайна сметка първата е най-малката & 2 nd е вторият най-малък елемент в масива. Така че, в този случай бяха необходими четири прохода за сортиране на масив от 5 елемента.

Преди да разгледаме подробно алгоритъма, нека разгледаме сложността във времето на алгоритъма Bubble Sort in C.

Сложността на Bubble Sort

  • Най-лошата сложност:На2)
  • Най-добрата сложност:На2)
  • Средна сложност на случая:На)

Сега нека да разгледаме бързо алгоритъма, за да можем да напишем алгоритъма за сортиране на балончета в C.

предаване по стойност и преминаване по референтен java

Функция за сортиране на балончета

void bubbleSort (int array [], int n) {int i, j // Преминаване в Bubble Sort за (i = 0 i

Сортиране на балончета в програма C

#include // Функция за размяна на елементи void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // функция за сортиране на балони void bubbleSort (int array [], int n ) {int i, j за (i = 0 i

Sorted-Array

Сега след изпълнението на горната програма C бихте разбрали как работи Bubble Sort и как да го приложите на език C. Надявам се, че този блог е информативен и с добавена стойност за вас.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия за сортиране на балончета и ние ще се свържем с вас възможно най-скоро.