May 20, 2015

C program to delete an integer from an array

#include<stdio.h>
#include<conio.h>
#include<malloc.h>
struct node
 {
 int info;
 struct node *link;
 };
 typedef struct node NODE;
 void creation(NODE *);
 void display(NODE *);
 NODE *display_beg(NODE *);
 void deletion_end(NODE *);
 void deletion_pos(NODE *);
 main()
 {
 NODE *head;
 char ch;
 head=(NODE *)malloc(sizeof(NODE));
 clrscr();
 while(1)
 {
 printf("\n*** single linked poeration *** \n");
 printf("\n 1.creation");
 printf("\n 2.delete at begining \n");
 printf("\n 3.delete at end \n");
 printf("\n 4.delete at desire position");
 printf("\n 5.display");
 printf("\n 6.exit");
 printf("\n Enter a choice");
 scanf("%d",&ch);
 switch(ch)
{
case 1:creation(head);
       break;
case 2:delete_beg(head);
       break;
case 3:delete_end(head);
       break;
case 4:delete_pos(head);
       break;
case 5:dispaly(head);
       break;
case 6:exit(0);
}
}
}
void creation(NODE *currptr)
{
NODE *newnode;
char ch;
while(1)
{
printf("Enter info :");
scanf("%d",&currptr->info);
printf("\n do u want to continue :(Y/N)\n");
fflush(stdin);
ch=getchar();
if(toupper(ch)=='y')
{
newnode=(NODE *)malloc(sizeof(NODE));
currptr->link=newnode;
currptr=newnode;
}
else
{
currptr->link=NULL;
}
}
}
void display(NODE *currptr)
{
printf("\n");
while(currptr!=NULL)
{
printf("%d",currptr->info);
printf("->");
currptr=currptr->link;
}
printf("NULL");
}
NODE *deletion_beg(NODE *currptr)
{
printf("\n before deletion : ");
display(currptr);
currptr=currptr->link;
printf("\n after deletion :");
display(currptr);
return(currptr);
}
void deletion_end(NODE *currptr)
{
NODE *temp;
NODE *start=currptr;
printf("\n before delete :");
display(currptr);
temp=currptr;
while(currptr->link!=NULL)
{
temp=currptr;
currptr=currptr->link;
}
temp->link=NULL;
printf("\n after deletion :");
display(start);
}
void deletion_pos(NODE *currptr)
{
int i,pos;
NODE *temp;
printf("\n before deletion :");
display(currptr);
printf("Enter the pos to inserted :");
scanf("%d",&pos);
for(i=1;i<pos;i++)
{
temp=currptr;
currptr=currptr->link;
}
temp->link=currptr->link;
}

No comments:

Post a Comment