Professional Documents
Culture Documents
#include <stdlib.h>
struct node
int data;
};
int main(){
while(1)
printf("1.Create List\n");
printf("2.Display\n");
printf("3.Add at beginning\n");
printf("4.Add at end\n");
printf("7.Add at position\n");
printf("8.Delete\n");
printf("9.isEmpty\n");
printf("10.isFull\n");
printf("11.Exit\n");
scanf("%d",&choice);
switch(choice)
case 1:
start=create_list(start);
break;
case 2:
display(start);
break;
case 3:
scanf("%d",&data);
start=addatbeg(start,data);
break;
case 4:
scanf("%d",&data);
addatend(start,data);
break;
case 5:
scanf("%d",&data);
scanf("%d",&item);
addafter(start,data,item);
break;
case 6:
scanf("%d",&data);
printf("Enter the element before which to insert : ");
scanf("%d",&item);
addbefore(start,data,item);
break;
case 7:
scanf("%d",&data);
scanf("%d",&pos);
addatpos(start,data,pos);
break;
case 8:
scanf("%d",&data);
start=del(start, data);
break;
case 9:
isEmpty(start);
break;
case 10:
isFull(start);
case 11:
exit(1);
default:
printf("Wrong choice\n");
int i,n,data;
scanf("%d",&n);
start=NULL;
if(n==0)
return start;
scanf("%d",&data);
start=addatbeg(start,data);
for(i=2;i<=n;i++)
scanf("%d",&data);
addatend(start,data);
return start;
if(start==NULL)
printf("List is empty\n");
return;
p=start;
printf("List is :\n");
while(p!=NULL)
printf("%d ",p->data);
p=p->link;
printf("\n\n");
}
struct node *addatbeg(struct node *start,int data)
tmp->data=data;
tmp->link=start;
start=tmp;
return start;
tmp->data=data;
p=start;
while(p->link!=NULL)
p=p->link;
p->link=tmp;
tmp->link=NULL;
}
void addafter(struct node *start,int data,int item)
p=start;
while(p!=NULL)
if(p->data==item)
tmp->data=data;
tmp->link=p->link;
p->link=tmp;
p=p->link;
if(start==NULL )
{
printf("List is empty\n");
if(item==start->data)
tmp->data=data;
tmp->link=start;
start=tmp;
p=start;
while(p->link!=NULL)
if(p->link->data==item)
tmp->data=data;
tmp->link=p->link;
p->link=tmp;
}
p=p->link;
int i;
tmp->data=data;
if(pos==1)
tmp->link=start;
start=tmp;
p=start;
p=p->link;
if(p==NULL)
tmp->link=p->link;
p->link=tmp;
if(start==NULL)
printf("List is empty\n");
return start;
if(start->data==data)
tmp=start;
start=start->link;
free(tmp);
return start;
}
p=start;
while(p->link!=NULL)
if(p->link->data==data)
tmp=p->link;
p->link=tmp->link;
free(tmp);
return start;
p=p->link;
if (start==NULL)
printf("List is empty\n");
}
void isFull(struct node *start){
if (start!=NULL)
printf("list is full\n");
Output-