Visa signatur
10700K | NVIDIA RTX 3080
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);
}
}
10700K | NVIDIA RTX 3080
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
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.