added bubble sort alg.

This commit is contained in:
mpabi 2024-05-26 07:24:45 +00:00
parent a0f7585ae1
commit d9e57e8ca0
1 changed files with 22 additions and 25 deletions

View File

@ -1,35 +1,32 @@
#include "myfunc.h" #include "myfunc.h"
// Lokalna deklaracja funkcji my_strlen bool compareWords(const char* a, int lenA, const char* b, int lenB) {
static int my_strlen(const char *str) { int minLen = (lenA < lenB) ? lenA : lenB;
int length = 0; int cmp = strncmp(a, b, minLen);
while (str[length] != '\0') { if (cmp == 0) {
length++; return lenA < lenB;
} }
return length; return cmp < 0;
} }
void count_characters(const char* alfabet, const char* slowo, uint8_t* wynik) { void bubbleSort(model arr[], int n) {
// Użycie my_strlen do obliczenia długości alfabetu bool swapped;
int alfabet_length = my_strlen(alfabet); for (int i = 0; i < n-1; i++) {
swapped = false;
for (int i = 0; i < alfabet_length; ++i) { for (int j = 0; j < n-i-1; j++) {
wynik[i] = 0; if (!compareWords(arr[j].ptr, arr[j].len, arr[j+1].ptr, arr[j+1].len)) {
}
for (int i = 0; i < alfabet_length; ++i) { // Zamiana miejscami
for (int j = 0; slowo[j] != '\0'; ++j) { model temp = arr[j];
if (alfabet[i] == slowo[j]) { arr[j] = arr[j+1];
wynik[i]++; arr[j+1] = temp;
swapped = true;
} }
} }
if (!swapped) {
break;
}
} }
} }
// #include "myfunc.h"
// const char* alfabet = "abcdefghijklmnopqrstuwxyz";
// const char* slowo = "mpabi";
// int wynik[26] = {0}; // Inicjalizacja tablicy wyników na 0
// count_characters(alfabet, slowo, wynik);