Mam dwie listy dwukierunkowe. Chcialbym, aby elementy jednej z nich wskazywały każdy na oddzielną listę. Jak to zrobić? Jak ewentualnie znalezc to w helpie C++?
struct data{
data* nx;
data* pr;
char* buffer;
}
struct list{
list* nx;
list* pr;
data* ls;
}
Strukture juz masz, teraz musisz to sobie tylko oprogramować.
// Do postu poniżej:
sorka zapomnialem, ze to 2-kierunkowe... poprawione
void* buffer to po prostu bufor, zmien na co chcesz, bo to tylko przykład, dobra niecgh bedzie char.
robisz tak:
list* p;
p->pr->data->nx->buffer;
(adres bufora następnego elementu w poprzedniej liscie o ile przyjmiesz pr jako poprzedni, a nx jako nastepny)
http://4programmers.net/file.php?id=1447 jakby co to ta klasa jest oparta na liscie dwukierunkowych list (wywalic '#pragma warn' zignorowac warningi i pojdzie pod wiekszoscia kompilatorow)
Dzieki. Nie rozumiem tylko, do czego słuzyć ma wskaźnik void. Mój problem polegał głównie na użyciu wskaźników przy odwoływalniu sie ze structury wyższej do struktury kazdego elementu. Np powiązanie list->ls->next, nie wiem czy dobrze to deklaruję...kompilator sie burzy
Możesz skorzystać z STL'a i
list < list<obiekt> > listaList;
Jak znaleźć helpa? --> google && stl list manual.
pzdr,
y.