[Źródło: https://icons.com/icon/40670/c-programming]
Program:
Ten rodzaj sortowania jest jednym z najprostszych dostępnych algorytmów sortowania. Jego działanie polega na pobieraniu kolejnych elementów z tablicy i zamienianie ich miejscami. Wszystkie operacje trwają do momentu kiedy nie zostaną dokonane żadne zmiany w tablicy.
Cały algorytm składa się właściwie z dwóch funkcji jedna zamienia elementy miejscami, druga natomiast wykonuje operacji na przekazanej tablicy.
- static void changeElementPlaces(uint16_t *xp, uint16_t *yp)
- {
- uint16_t temp = *xp;
- *xp = *yp;
- *yp = temp;
- }
- void bubbleSort(uint16_t *list, uint16_t startPosition, uint16_t tableSize)
- {
- uint16_t numberOfChanges = 0;
- do
- {
- numberOfChanges = 0;
- for (int i = startPosition; i < tableSize; i++)
- {
- if (list[i] > list[i + 1])
- {
- numberOfChanges += 1;
- changeElementPlaces(&list[i], &list[i + 1]);
- }
- }
- } while (numberOfChanges != 0);
- }
Pliki do postu można pobrać z dysku Google pod tym linkiem.