#include #include struct Node { struct Node * next; int key; }; // Lägg till en ny nod, först i listan, och initiera dess key (med argumentet) struct Node * push_front(int key, struct Node * oldListHead){ struct Node * newListHead; newListHead = (struct Node *)malloc(sizeof(struct Node)); //(*newListHead).key = key; newListHead->key = key; newListHead->next = oldListHead; return newListHead; } struct Node * push_back(int key, struct Node * oldListHead){ } void print_list( struct Node * listHead){ while(listHead) { printf("%i ", listHead->key); listHead = listHead->next; } } int pop_front(struct Node ** pOldListHead) { int tmp = (*pOldListHead)->key; //int tmp = (**pOldListHead).key; struct Node * newListHead = (*pOldListHead)->next; free(*pOldListHead); *pOldListHead = newListHead; //*pOldListHead = (*pOldListHead)->next; return tmp; } int main(int argc, char **argv) { int tmp = 5; struct Node * listHead = NULL; listHead = push_front(89, listHead); while(tmp--) listHead = push_front(tmp, listHead); tmp = pop_front(&listHead); print_list(listHead); return 0; }