CIRCULAR LINK LIST DELETION
#include
#include
int main()
{
struct node{
int data;
struct node *next;
}*head;
struct node *temp,*temp1,*temp2;
head=NULL;
int num,i,n;
printf("enter number of nodes in link list=");
scanf("%d",&num);
for(i=0;i
{
scanf("%d",&n);
if(head==NULL)
{
head=malloc(sizeof(struct node));
head->data=n;
temp=head;
}
else{
temp->next=malloc(sizeof(struct node));
temp->next->data=n;
temp=temp->next;
}
}
temp->next=head;
temp=head;
int pos;
temp=head;
printf("enter node no. for deletion=");
scanf("%d",&pos);
if(pos==1)
{
temp2=head;
while(temp->next!=head)
{
temp=temp->next;
}
head=head->next;
temp->next=temp2->next;
free(temp2);
}
else{
for(i=1;i
{
temp1=temp;
temp=temp->next;
}
temp1->next=temp->next;
free(temp);
}
temp=head;
// AFTER DELETION//
for(i=0;i<15 font="font" i="i">15>
{
printf("%d\n",temp->data);
temp=temp->next;
}
return 0;
}
No comments:
Post a Comment