Self referential structure (Notation of linklist ) / Singly link list in C
Self referential structure (Notation of linklist ) / Singly link list in C. A link list is a data structure that maintain the list of items that are logically connected with links (pointer). Link list is of four types:-
Self referential structure (Notation of linklist ) / Singly link list in C:-
1) Singly link list:-
In singly link list every nodes contains two information inside it first data field and second field is pointer field .
Data field:- It stores the actual value of the data items.
Pointer field:- It stores the address of next node or data item
To create a singly link list the structure of node can be define as follows :-+
/* Implementation of singly link list */
#include<stdio.h> #include<stdlib.h> // define structure of a node struct node { int data; struct node* link; }; struct node *start=NULL; // create a node struct node * create_node() { struct node *temp; temp=(struct node*)malloc(sizeof(struct node)); return temp; } // function for insert element at first position void insert_first() { struct node *temp; temp=create_node(); printf("Enter a element\n"); scanf("%d",&temp->data); temp->link=start; start=temp; } // function for insert element at the end of the list void insert_end() { struct node *temp,*t; temp=create_node(); printf("Enter a element\n"); scanf("%d",&temp->data); if(start==NULL) { temp->link=start; start=temp; } else { t=start; temp->link=NULL; while(t->link!=NULL) t=t->link; t->link=temp; } } // function for delete element from the starting void delte_first() { struct node * temp; if(start==NULL) printf("List is empty\n"); else { temp=start; start=temp->link; free(temp); } } // function for delete element from the end of the list void delete_end() { struct node * temp,*t; if(start==NULL) { printf("List is empty\n"); } else { t=start; if(t->link==NULL) { start=NULL; free(t); } else { while(t->link->link!=NULL) { t=t->link; } temp=t->link; t->link=NULL; free(temp); } } } // function for display the element of List void display() { struct node * temp; if(start==NULL) printf("List is empty\n"); else { temp=start; while(temp!=NULL) { printf("%d ",temp->data); temp=temp->link; } } } int main() { int ch; printf("1. insert element at starting\n"); printf("2. insert element at the end of the list\n"); printf("3. delete element from the starting\n"); printf("4. delete element from the end of the list\n"); printf("5. display element of the list\n"); printf("6. exit\n"); while(1) { printf("Enter your choice\n"); scanf("%d",&ch); switch(ch) { case 1: insert_first(); break; case 2: insert_end(); break; case 3: delte_first(); break; case 4: delete_end(); break; case 5: display(); break; case 6: exit(0); default: printf("Wrong key\n"); } } return 0; }
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:-