Witam. Mam do napisania funkcje, która posortuje ciąg liczb rosnąco przy użyciu sortowania bąbelkowego. Warunkiem zadania jest rozwiązanie go w sposób rekurencyjny, oraz nie wolno używać pętli. Napisałam tą funkcje jednak nie działa ona prawidłowo i nie mam pomysłu w jaki sposób mogę ten problem rozwiązać. Jestem początkująca w programowaniu, będę wdzięczna za każdą pomoc.
int bubble_sort_asc_rec(int tab[], int size) {
if(tab==NULL){
return 1;
}
if (size <=0) {
return 1;
}
if(size==1){
return 0;
}
if (tab[0] > tab[1]) {
int temp = tab[0];
tab[0] = tab[1];
tab[1] = temp;
for(int k=0; k<size; k++){
printf("%d ", tab[k]);
}
printf("\n");
return bubble_sort_asc_rec(tab, size);
}
else {
return bubble_sort_asc_rec(tab, size-1);
}
}
Przykładowe wyjście:
-69 -55 -93 -54 18 -63 34 -21 7 -41 -91 -51 62
-69 -93 -55 -54 -63 18 -21 7 -41 -91 -51 34
-93 -69 -55 -63 -54 -21 7 -41 -91 -51 18
-93 -69 -63 -55 -54 -21 -41 -91 -51 7
-93 -69 -63 -55 -54 -41 -91 -51 -21
-93 -69 -63 -55 -54 -91 -51 -41
-93 -69 -63 -55 -91 -54 -51
-93 -69 -63 -91 -55 -54
-93 -69 -91 -63 -55
-93 -91 -69 -63
-93 -91 -69 -63 -55 -54 -51 -41 -21 7 18 34 62