Witam. Otóż mam taki problem. Zrobiłem sortowanie bąbelkowe macierzy o wymiarach nx3. Działa ono poprawnie. Ale jest zbyt wolne i muszę zmienić je na quicksort bądź inny algorytm szybszy od obecnego.
void sortuj_liste_krawedzi ()
{
int temp3;
int temp1;
int temp2;
for (int i = 0; i<liczba_krawedzi; i++)
{
for (int j=0; j<liczba_krawedzi-1-i; j++)
{
if (lista_krawedzi[j][2] > lista_krawedzi[j+1][2])
{
temp1 = lista_krawedzi[j+1][2];
lista_krawedzi[j+1][2] = lista_krawedzi[j][2];
lista_krawedzi[j][2] = temp1;
temp2 = lista_krawedzi[j+1][1];
lista_krawedzi[j+1][1] = lista_krawedzi[j][1];
lista_krawedzi[j][1] = temp2;
temp3 = lista_krawedzi[j+1][0];
lista_krawedzi[j+1][0] = lista_krawedzi[j][0];
lista_krawedzi[j][0] = temp3;
}
}
}
}
Tutaj jest moja obecna implementacja, czyli sortowanie bąbelkowe. Jakby ktoś potrafił mi pomóc, chociaż podpowiedzieć jak zrobić sortowanie innego typu (preferowane quicksort) wg ostatniej kolumny w tej tablicy dwuwymiarowej to będę wdzięczny. Myślę, że mogę nawet zapłacić osobie, która zechciałaby zrobić takie sortowanie jeżeli zajęłoby to dużo czasu (cena do uzgodnienia).