Doubly link list in c
In this article we will learn that what is doubly link list and how to implement a doubly link list in c.
Doubly link list is a list in which there is three field first for storing the address of the previous node second for data field and third for the address of the next node.
Pre_pointer:- It store the address of the previous node
Data field:- It store the data.
Next_Pointer:- It store the address of the next node.
Implementation of doubly link list in c:-
#include<stdio.h> // function for define the structure of node struct node { int data; struct node *pre,*next; }; struct node *head=NULL; // function for creating the node struct node *creatnode() { struct node* t; t=(struct node*)malloc(sizeof(struct node)); return(t); } // function for insert the node // at starting for the list void InsertAsFirst() { struct node *t; t=creatnode(); printf("Enter a number"); scanf("%d",&t->data); t->pre=NULL; t->next=NULL; if(head==NULL) { head=t; } else { t->next=head; head->pre=t; head=t; } } // function for delete the node // from the starting void deletefirst() { struct node *t; if(head==NULL) printf("List is Empty"); else { t=head; head=head->next; head->pre=NULL; free(t); } } // function for view the list void viewlist() { struct node *t; if(head==NULL) printf("List is Empty"); else { t=head; while(t->next!=NULL) { printf("%d ",t->data); t=t->next; } } } // driver function int main() { int ch; head=creatnode(); while(1) { printf("Press\n"); printf("1. Insertion\n"); printf("2. delete\n"); printf("3. View List\n"); printf("4. Exit\n"); printf("Enter Your Choice\n"); scanf("%d",&ch); switch(ch) { case 1: InsertAsFirst(); break; case 2: deletefirst(); break; case 3: viewlist(); break; case 4: exit(0); default : printf("Invailid key"); } } return 0; }
Output:-
Press 1. Insertion 2. delete 3. View List 4. Exit Enter Your Choice 1 Enter a number 12 Press 1. Insertion 2. delete 3. View List 4. Exit Enter Your Choice 1 Enter a number 34 Press 1. Insertion 2. delete 3. View List 4. Exit Enter Your Choice 3 34 12 Press 1. Insertion 2. delete 3. View List 4. Exit Enter Your Choice 2 Press 1. Insertion 2. delete 3. View List 4. Exit Enter Your Choice 4
Recommended Post:
- c program to convert specified days into years weeks and days
- Print Reverse Hollow Pyramid
- Update the booking ID | Wipro previous year question paper
- Pages in PDF | Wipro previous year question paper
- Sparse Matrix in data structure
- Find the location ID | Wipro previous year Coding question
- find the odd digits | Wipro Coding question
- Find the product id | Wipro Coding question
- Difference between static and dynamic memory allocation
- What is asymptotic Notation
Key points:-
- How to set limit in the floating value in python
- What is boolean data type
- How to print any character without using format specifier
- How to check that given number is power of 2 or not
- How to fix limit in double and floating numbers after dot (.) in c++
- How to print a double or floating point number in scientific notation and fixed notation
- How to take input a string in c
- How to reduce the execution time of program in c++.
Cracking the coding interview:-
Array and string:-
Tree and graph:-
Hackerearth Problems:-
- Very Cool numbers | Hacker earth solution
- Vowel Recognition | Hackerearth practice problem solution
- Birthday party | Hacker earth solution
- Most frequent | hacker earth problem solution
- program to find symetric difference of two sets
- cost of balloons | Hacker earth problem solution
- Chacha o chacha | hacker earth problem solution
- jadu and dna | hacker earth solution
- Bricks game | hacker earth problem
- Anti-Palindrome strings | hacker earth solution
- connected components in the graph | hacker earth data structure
- odd one out || hacker earth problem solution
- Minimum addition | Hackerearth Practice problem
- The magical mountain | Hackerearth Practice problem
- The first overtake | Hackerearth Practice problem
Hackerrank Problems:-
- Playing With Characters | Hackerrank practice problem solution
- Sum and Difference of Two Numbers | hackerrank practice problem solution
- Functions in C | hackerrank practice problem solution
- Pointers in C | hackerrank practice problem solution
- Conditional Statements in C | Hackerrank practice problem solution
- For Loop in C | hackerrank practice problem solution
- Sum of Digits of a Five Digit Number | hackerrank practice problem solution
- 1D Arrays in C | hackerrank practice problem solution
- Array Reversal | hackerrank practice problem solution
- Printing Tokens | hackerrank practice problem solution
- Digit Frequency | hackerrank practice problem solution
- Calculate the Nth term | hackerrank practice problem solution
Data structure:-
- Program to find cycle in the graph
- Implementation of singly link list
- Implementation of queue by using link list
- Algorithm of quick sort
- stack by using link list
- program to find preorder post order and inorder of the binary search tree
- Minimum weight of spanning tree
- Preorder, inorder and post order traversal of the tree
Must check this:-
MCQs:-