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. ;))


Anmelden zum Antworten