Sortowanie babelkowe z pomijaniem elementow tabeli

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1