Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct Telephonebook
- {
- char name;
- struct Telephonebook *next;
- }telephonebook;
- int main()
- {
- telephonebook *start,*temp;
- start=(telephonebook*)malloc(sizeof(telephonebook));
- temp=start;
- temp->next=NULL;
- printf("1.Add\n");
- printf("2.Delete\n");
- printf("3.Search\n");
- printf("4.Display\n");
- while(1)
- {
- int query;
- char name;
- scanf("%d",&query);
- switch(query){
- case 1:
- scanf("%c",&name);
- add(start,name);
- break;
- case 2:
- scanf("%c",&name);
- delete(start,name);
- break;
- case 3:
- scanf("%c",&name);
- int status=search(start,name);
- if(status)
- printf("Element Found\n");
- else
- printf("Element Not Found\n");
- break;
- case 4:
- printf("The list is ");
- display(start->next);
- break;
- }
- }
- }
- void add (telephonebook *pointer,char name)
- {
- while(pointer->next!=NULL)
- {
- pointer=pointer->next;
- }
- pointer->next=(telephonebook*)malloc(sizeof(telephonebook));
- pointer=pointer->next;
- pointer->name=name;
- pointer->next=NULL;
- }
- void delete(telephonebook *pointer,char name)
- {
- while(pointer->next!=NULL && (pointer->next)->name!=name)
- {
- pointer=pointer->next;
- }
- if(pointer->next==NULL)
- {
- printf("Element %d is not present in the list\n",name);
- return;
- }
- telephonebook *temp;
- temp=pointer->next;
- pointer->next=temp->next;
- free(temp);
- return;
- }
- void search(telephonebook *pointer,char key)
- {
- pointer=pointer->next;
- while(pointer!=NULL)
- {
- if(pointer->name== key)
- {
- return 1;
- }
- pointer=pointer->next;
- }
- return 0;
- }
- void display(telephonebook *pointer)
- {
- if(pointer==NULL){
- return;
- }
- printf("%c",pointer->name);
- display(pointer->next);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement