Länkad lista -> ändra värdet på head

Permalänk
Medlem

Länkad lista -> ändra värdet på head

Så, jag har dessa två funktioner, och i en annan C fil där jag kört:

Node *list = makelist(); en structs dvs) och så anropar jag dessa t.ex

add(5, list); men när jag skriver ut dom så blir alltid värdena:

0 -> 5, så första värdet blir alltid 0, och jag vet inte riktigt hur jag ska lyckas ändra på första värdet? Hjälp uppskattas. Låst sig totalt gällande detta..

Node *createNode(int data) { Node *newNode = malloc(sizeof(Node)); if(!newNode){ printf("Allocation of node failed! Exiting program."); exit(0); } newNode->value = data; newNode->next = NULL; return newNode; } void add(int data, Node *list){ Node *temporary = NULL; printf("List is: %d \n", list->value); if(list->next == NULL) { printf("Yo list is EMPTY! APPENDING \n"); list->next = createNode(data); }else { temporary = list->next; while(temporary->next != NULL){ temporary = temporary->next; } temporary->next = createNode(data); } }

Visa signatur

10700K | NVIDIA RTX 3080

Permalänk
Medlem

Kan inte C men borde du inte kolla I add ifall listan är tom eller om head är null?

Ett lätt sätt är väl att ge din lista en lengthvariabel kanske som går upp vid add och vice versa, så om den är 0 så vet du att det inte finns någon head och data ska bli head med en tom next

Permalänk
Medlem

Det löste sig med dubbelpekare

Visa signatur

10700K | NVIDIA RTX 3080