Lets say I have a node like this
Code:
typedef struct node
{
int data;
struct node *next;
} Node;
and lets say that i entered 3 nodes (which all have their memory allocated of course) in a list which looks like this:
Code:
1. node data = 1
2. node data = 2
3. node data = 3
If I enter a number lets say 7, I would like to have a funcntion that enters 7-3 = 4 nodes at the end of the list so when it is done the list looks like this:
Code:
1. node data = 1
2. node data = 2
3. node data = 3
4. node data = 4
5. node data = 5
6. node data = 6
7. node data = 7
I'd like to use a loop to do this but it doesn't work at all, it doesn't compile as it breaks on the green line.
Code:
/* NEW NODE */
Node* NewNode(int n)
{
Node* new = malloc(sizeof(kat));
new->data = n;
new->next = NULL;
return(new);
}
/* LAST NODE */
Node* LastNode(Node *head)
{
Node *temp = head;
while (temp != NULL)
temp = temp->next;
return(temp);
}
/* ADD NODES */
void AddNodes(Node **head, int n)
{
Node *last;
do
{
last = LastNode(*poc);
Node *new = NewNode(last->data);
last->next = new;
} while (last->data < n)
}