Hello I try to make one linked list to double linked list but i have some probems with this
.Can somebody help me?
This is yhe the linked list:
typedef struct ns
{
int data;
struct ns *next;
} node;
node *list_add(node **p, int i)
{
node *n = (node *)malloc(sizeof(node));
if (n == NULL)
return NULL;
n->next = *p;
*p = n;
n->data = i;
return *p;
}
void list_remove(node **p) /* remove head */
{
if (*p != NULL)
{
node *n = *p;
*p = (*p)->next;
free(n);
}
}
node **list_search(node **n, int i)
{
while (*n != NULL)
{
if ((*n)->data == i)
return n;
n = &(*n)->next;
}
return NULL;
}
Ok the structure have to be
typedef struct ns
{
struct ns *next;
int data;
struct ns *next;
} node;
With add fuction I think something like that,but i'm not sure
node *list_add(node **p, int i)
{
node *n = (node *)malloc(sizeof(node));
if (n == NULL)
return NULL;
n->next = *p;
*p = n;
n->prev = NULL;
n->data = i;
return *p;
}
for the remove and search function i have no idea
Thanks in advance