Pointer weitergehen
-
Hi!
Vorab: es geht mir nicht um Designfragen, oder wie "C++ konform" es ist.
Ich habe ein Struct
struct ort{ int x, y; ort *next; };Weiters habe ich ein Array
ort * array[10];Da stehen Orte in folgender Manier drinnen (hart codiert...):
Ort o[10]; o[0].x=63; o[0].y=55; ....Nun steht nicht in jedem Index was drinnen. Aber es kann sein, dass in einem Index mehrere Orte drinnen sind. Wenn mehr als 1, also 2 oder mehr drinnen sind, dann muss ich noch was damit machen...
Wie durchlaufe ich das?
Mein Denkansatz war folgender:
int counter=0; for(array durchlaufen) { if(array[i]!=NULL) //Stimmt die Abfragesyntax? { counter++; //hier habe ich Denkprobleme //ich bin bei einem Ort, muss dann aber irgendwie sagen, dass der next pointer auf den nächsten zeigt //if(counter>=2) machwas(); } }
-
Weiters noch
in das Array mit ort pointern, schreibe ich so rein:
for(....) ort[x] = &o[i];sprich, die adressen...
-
Das ist typtisch für Listen. Such hier mal im Forum nach Listen, da solltest du genügend finden, wo es testimplementierungen gibt da findest du auch das, was du suchst. ( Im Moment ist mir das noch zu vage, um was sinnvolles zu deinem Problem zu sagen. ;))