Witam!
Potrzebowałbym rady jak rozwiązać taki problem.
Chciałbym zrobić sortowanie bąbelkowe tabeli int tab1[8] tylko dla elementów tej tabeli które nie mają wartości null, np. tab1[3]=NULL. Czyli żeby wartości z null były pomijane.
Moje sortowanie bąbelkowe:
for (x1=0;x1<=7;x1++)
{for (y1=0;y1<=7;y1++)
{tmp1=tab1[y1];
tab1[y1]=tab1[y1+1];
tab1[y1+1]=tmp1;}}
Czy ktoś ma pomysł jak to rozwiązać?
Z góry dzięki.
Pozdrawiam
0
0
Najpierw zrób sortowanie bez tego pomijania.
1
Oto przykład:
bool predykat (int i) { return i==0; }
bubble_sort(std::vector<int> & tab) {
std::remove_if(tab.begin(),tab.end(),predykat);
/*
*Tutaj kod zwykłego sortowania bąbelkowego
*
*/
}
int main() {
std::vector<int> tablica;
tablica.push_back(9);
tablica.push_back(3);
tablica.push_back(8);
tablica.push_back(0);
tablica.push_back(0);
tablica.push_back(3);
bubble_sort(tablica);
}
To jest troche oszustwo bo w rzeczywistości usuwam po prostu elementy o wartości 0 ale prościej tego chyba nie da się zrobić
0
Dzieki.