#include <stdio.h>
struct node
{
int data;
struct node *next;
};
int getdata(int n)
{
struct node *current;
struct node *temp;
struct node *head;
current=(struct node*)malloc(sizeof(struct node));
head=current;
while(1)
{
if(n!=0)
{
current->data=n;
temp=current;
current=(struct node*)malloc(sizeof(struct node));
temp->next=current;
printf("Enter Number(0 to terminate)\n");
scanf("%d",&n);
}
else
{
temp->next=NULL;
break;
}
}
return head;
}
int print(struct node *head)
{
struct node *temp;
temp=head;
while(temp!=NULL)
{
printf("%d %d %d\n",temp,temp->data,temp->next);
temp=temp->next;
}
return;
}
int delete(struct node *head)
{
struct node *ihead,*lhead,*uhead;
uhead=head;
int a;
printf("After Which Data You want to Delete=");
scanf("%d",&a);
while(uhead->data!=a)
{
uhead=uhead->next;
}
lhead=uhead->next;
ihead=lhead->next;
uhead->next=ihead;
}
int main()
{
int n;
printf("Enter Data=");
scanf("%d",&n);
struct node *head;
head=getdata(n);
print(head);
delete(head);
print(head);
}
0 comments:
Post a Comment