Mam taki problem. Mianowicie jak skasować element, który jest typu struct KrawedzGrafu z pamięci i potem ustawić odpowiednio wskaźnik na następny element:
gdzie w programie stworzyłem takich elementów tyle ile jest liczba_kraw:
struct KrawedzGrafu *wsk=(KrawedzGrafu *)malloc(liczba_kraw* sizeof(struct KrawedzGrafu));
No i obrazowo może pokarzę:
komórka1 komórka2 komórka3 komórka4 ...... komóka_liczba_kr
wsk[0] ,,,, wsk[1] ,,,,, wsk[2] ,,,,, wsk[3] ,,, ...... wsk[liczba_kr-1]
No i teraz załóżmy że chcę skasowac komórkę nr 3:
no ale też chciałbym by teraz komórka4 stała się 3 (czyli wsk[3] wskaznikiem 2 itd.)
Jak to zrobić? Aha i tak:
że tam wstawię sobie *nast to nie mogę zrobić, bo już siedziałem nad tym algorytmem PRIMA około 20 godzin i ponad 100 linijek kodu no i już nie chcę zmieniać stuktury KrawedzGrafu tylko innym sposobem jakby się dało.
Kod proszę umieszczać w znacznikach code - krzychoocpp
Code:
struct KrawedzGrafu{
int odwezla;
int dowezla;
int waga;
};
gdzie w programie stworzyłem takich elementów tyle ile jest liczba_kraw:
struct KrawedzGrafu *wsk=(KrawedzGrafu *)malloc(liczba_kraw* sizeof(struct KrawedzGrafu));
No i obrazowo może pokarzę:
komórka1 komórka2 komórka3 komórka4 ...... komóka_liczba_kr
wsk[0] ,,,, wsk[1] ,,,,, wsk[2] ,,,,, wsk[3] ,,, ...... wsk[liczba_kr-1]
No i teraz załóżmy że chcę skasowac komórkę nr 3:
Code:
z=2;
free((wsk+z));
no ale też chciałbym by teraz komórka4 stała się 3 (czyli wsk[3] wskaznikiem 2 itd.)
Jak to zrobić? Aha i tak:
Code:
struct KrawedzGrafu{
int odwezla;
int dowezla;
int waga;
struct KrawedzGrafu *nast
};
że tam wstawię sobie *nast to nie mogę zrobić, bo już siedziałem nad tym algorytmem PRIMA około 20 godzin i ponad 100 linijek kodu no i już nie chcę zmieniać stuktury KrawedzGrafu tylko innym sposobem jakby się dało.

Kod proszę umieszczać w znacznikach code - krzychoocpp