Code:
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int data;
struct Node *next;
} Node;
Node *AddNode(int data, Node *prev)
{
Node *node = malloc(sizeof *node);
node->data = data;
if (prev)
{
node->next = prev->next;
prev->next = node;
}
else
{
node->next = NULL;
prev = node;
}
return prev;
}
void print(Node *node)
{
for ( ; node; node = node->next)
printf("%d ", node->data);
printf("\n");
}
int main()
{
Node *head = NULL;
for (int i = 0; i < 8; ++i)
head = AddNode(i, head);
print(head);
return 0;
}