LIst
LIst
LIst
h>
#include<conio.h>
#include<stdlib.h>
struct node
int data;
}*head,*start,*temp;
void addroot();
void addhead();
void addmid();
void display();
void del();
void main()
int choice;
clrscr();
do
{
scanf("%d",&choice);
switch(choice)
case 0: break;
default: printf("Incorrectvalue");
}
}while(choice!=0);
// getch();
void addroot()
scanf("%d",&temp->data);
temp->next=NULL;
if(start==NULL)
start=temp;
head=temp;
return;
temp->next=start;
start=temp;
printf("%d is added in the List atRoot.\n",temp->data);
void addhead()
scanf("%d",&temp->data);
temp->next=NULL;
if(start==NULL)
start=temp;
head=temp;
return;
head->next=temp;
head=temp;
void addmid()
int i,pos;
scanf("%d",&temp->data);
scanf("%d",&pos);
temp->next=NULL;
for(i=1;i<pos-1;i++)
curr=curr->next;
temp->next=curr->next;
curr->next=temp;
void del()
{
int i,pos;
if(start==NULL)
return;
scanf("%d",&pos);
temp=start;
if(pos==1)
start=start->next;
free(temp);
return;
}
curr=start;
for(i=1;i<pos-1;i++)
curr=curr->next;
temp=curr->next;
if(temp->next==NULL)
head=curr;
head->next=NULL;
free(temp);
return;
curr->next=temp->next;
free(temp);
void display()
{
if(start==NULL)
return;
temp=start;
while(temp!=NULL)
printf("%d ",temp->data);
temp=temp->next;
printf("\n");