#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
int list_insert(node* head,int m,int Context)
{
node* finder=head;
if(finder==NULL)
{
return -1;
}
for(int i=0;i<m;i++)
{
if(finder->next==NULL)
{
return -2;
}
finder=finder->next;
}
node* newnode=(node*)malloc(sizeof(node));
newnode->data=Context;
newnode->next=NULL;
node* lastnext=finder->next;
finder->next=newnode;
newnode->next=lastnext;
return 0;
}
void list_delete(node* head)
{
if(head==NULL) return;
node* current;
node* next;
current=head;
next=head->next;
while(current!=NULL)
{
next=current->next;
free(current);
current=next;
}
}
int main()
{
node* head=NULL;
head=(node*)malloc(sizeof(node));
head->data=0;
head->next=NULL;
list_insert(head,0,1);
list_insert(head,1,2);
list_insert(head,2,3);
node* finder=head;
while(finder!=NULL)
{
printf("%d ",finder->data);
finder=finder->next;
}
list_delete(head);
}
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
int list_insert(node* head,int m,int Context)
{
node* finder=head;
if(finder==NULL)
{
return -1;
}
for(int i=0;i<m;i++)
{
if(finder->next==NULL)
{
return -2;
}
finder=finder->next;
}
node* newnode=(node*)malloc(sizeof(node));
newnode->data=Context;
newnode->next=NULL;
node* lastnext=finder->next;
finder->next=newnode;
newnode->next=lastnext;
return 0;
}
void list_delete(node* head)
{
if(head==NULL) return;
node* current;
node* next;
current=head;
next=head->next;
while(current!=NULL)
{
next=current->next;
free(current);
current=next;
}
}
int main()
{
node* head=NULL;
head=(node*)malloc(sizeof(node));
head->data=0;
head->next=NULL;
list_insert(head,0,1);
list_insert(head,1,2);
list_insert(head,2,3);
node* finder=head;
while(finder!=NULL)
{
printf("%d ",finder->data);
finder=finder->next;
}
list_delete(head);
}