Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct data
- {
- int a;
- data *next;
- } data;
- data *head;
- void insert_at_end(int b)
- {
- if(head==NULL)
- {
- head=(data*)malloc(sizeof(data));
- head->a=b;
- head->next=NULL;
- return;
- }
- data *temp=head;
- data *x=(data*)malloc(sizeof(data));
- x->a=b;
- x->next=NULL;
- while(temp->next!=NULL)
- {
- temp=temp->next;
- }
- temp->next=x;
- }
- void insert_at_begining(int c)
- {
- data *x1=(data*)malloc(sizeof(data));
- x1->a=c;
- x1->next=head;
- head=x1;
- }
- void insert_at_n(int d,int n)
- {
- data *temp=head;
- data *x2=(data*)malloc(sizeof(data));
- x2->a=d;
- if(n==1)
- {
- x2->next=head;
- head=x2;
- }
- else
- {
- n=n-2;
- while(n--);
- {
- temp=temp->next;
- if(temp->next==NULL)
- {
- temp->next=x2;
- x2->next=NULL;
- return;
- }
- x2->next=temp->next;
- temp->next=x2;
- }
- }
- }
- void delete_n(int m)
- {
- data *temp=head;
- data *fr;
- if(m==1)
- {
- fr=temp;
- head=fr->next;
- free(fr);
- }
- else
- {
- m=m-2;
- while(m--)
- {
- temp=temp->next;
- if(temp->next==NULL)
- {
- printf("Not found\n");
- return;
- }
- }
- fr=temp->next;
- temp->next=fr->next;
- free(fr);
- }
- }
- void print()
- {
- data *temp=head;
- while(temp!=NULL)
- {
- printf("%d ",temp->a);
- temp=temp->next;
- }
- printf("\n");
- }
- int lookfor(int key)
- {
- data *temp=head;
- int count =0;
- while(temp->next!=NULL)
- {
- count++;
- if(temp->a==key)
- return count;
- temp=temp->next;
- }
- return -1;
- }
- void dltvalue(int del)
- {
- data *temp=head;
- data *fr;
- int n=lookfor(del);
- if(n==1)
- {
- fr=temp;
- head=fr->next;
- free(fr);
- }
- else
- {
- n=n-2;
- while(n--)
- {
- temp=temp->next;
- if(temp->next==NULL)
- {
- printf("Not found\n");
- return;
- }
- }
- fr=temp->next;
- temp->next=fr->next;
- free(fr);
- }
- }
- int main()
- {
- int del,b,c,d,n,t,key;
- head=NULL;
- printf("1. insert\n");
- printf("2. begening\n");
- printf("3. insert_n\n");
- printf("4. delete_n\n");
- printf("5. print\n");
- printf("6. find\n");
- printf("7. delete\n");
- while(1)
- {
- scanf("%d",&t);
- switch(t)
- {
- case 1:
- scanf("%d",&b);
- insert_at_end(b);
- break;
- case 2:
- scanf("%d",&c);
- insert_at_begining(c);
- break;
- case 3:
- scanf("%d%d",&d,&n);
- insert_at_n(d,n);
- break;
- case 4:
- int m;
- scanf("%d",&m);
- delete_n(m);
- break;
- case 5:
- print();
- break;
- case 6:
- {
- scanf("%d",&key);
- int z=lookfor(key);
- if(z!=-1) printf("Element Found\n");
- else printf("Element Not Found\n");
- break;
- }
- case 7:
- scanf("%d",&del);
- dltvalue(del);
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement