Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct node Node;
- struct node
- {
- int data;
- Node *next;
- };
- Node *head=NULL;
- void insert_first(int n)
- {
- Node *newnode=(Node*) malloc(sizeof(Node));
- newnode->data=n;
- newnode->next=head;
- head=newnode;
- return;
- }
- void last_insert(int data)
- {
- Node *newnode=(Node*) malloc(sizeof(Node));
- newnode->data=data;
- newnode->next=NULL;
- if(head==NULL)
- {
- head=newnode;
- return;
- }
- Node *temp;
- temp=head;
- while(temp->next!=NULL)
- {
- temp=temp->next;
- }
- temp->next=newnode;
- return;
- }
- void display()
- {
- Node *temp=head;
- while(temp!=NULL)
- {
- printf("%d->",temp->data);
- temp=temp->next;
- }
- printf("\n");
- }
- void middle_insert(int n1,int n2)
- {
- Node *newnode=(Node*) malloc(sizeof(Node));
- newnode->data=n2;
- Node *temp=head;
- int i;
- for(i=0;i<(n1-2);i++)
- {
- temp=temp->next;
- }
- Node *temp1=temp->next;
- temp->next=newnode;
- newnode->next=temp1;
- return;
- }
- void delete_node(int n)
- {
- Node *temp=head;
- int count=0;
- while(temp!=NULL)
- {
- count++;
- if(temp->data==n)
- {
- break;
- }
- temp=temp->next;
- }
- if(count==1)
- {
- head=temp->next;
- return;
- }
- int i;
- Node *temp2=head;
- for(i=0;i<(count-2);i++)
- {
- temp2=temp2->next;
- }
- Node *temp1;
- temp1=temp2->next;
- temp2->next=temp1->next;
- return;
- }
- void scarch_node(int n)
- {
- Node *temp;
- temp=head;
- while(temp!=NULL)
- {
- if(temp->data==n)
- {
- printf("%d is found\n",temp->data);
- break;
- }
- temp=temp->next;
- }
- return;
- }
- int main()
- {
- insert_first(6);
- last_insert(2);
- last_insert(3);
- last_insert(8);
- last_insert(9);
- middle_insert(3,4);
- delete_node(2);
- display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement