Delete first node in doubly linked list java

C Exercises: Delete node from the beginning of a doubly linked list

Last update on February 26 2020 08:07:28 [UTC/GMT +8 hours]

C Linked List : Exercise-17 with Solution

Write a program in C to delete a node from the beginning of a doubly linked list.

Pictorial Presentation:


Sample Solution:

C Code:

#include #include struct node { int num; struct node * preptr; struct node * nextptr; }*stnode, *ennode; void DlListcreation[int n]; void DlListDeleteFirstNode[]; void displayDlList[int a]; int main[] { int n,num1,a,insPlc; stnode = NULL; ennode = NULL; printf["\n\n Doubly Linked List : Delete node from the beginning of a doubly linked list :\n"]; printf["----------------------------------------------------------------------------------\n"]; printf[" Input the number of nodes [3 or more ]: "]; scanf["%d", &n]; DlListcreation[n]; a=1; displayDlList[a]; DlListDeleteFirstNode[]; a=2; displayDlList[a]; return 0; } void DlListcreation[int n] { int i, num; struct node *fnNode; if[n >= 1] { stnode = [struct node *]malloc[sizeof[struct node]]; if[stnode != NULL] { printf[" Input data for node 1 : "]; // assigning data in the first node scanf["%d", &num]; stnode->num = num; stnode->preptr = NULL; stnode->nextptr = NULL; ennode = stnode; for[i=2; inum = num; fnNode->preptr = ennode; // new node is linking with the previous node fnNode->nextptr = NULL; // set next address of fnnode is NULL ennode->nextptr = fnNode; // previous node is linking with the new node ennode = fnNode; // assign new node as last node } else { printf[" Memory can not be allocated."]; break; } } } else { printf[" Memory can not be allocated."]; } } } void DlListDeleteFirstNode[] { struct node * NodeToDel; if[stnode == NULL] { printf[" Delete is not possible. No data in the list.\n"]; } else { NodeToDel = stnode; stnode = stnode->nextptr; // move the next address of starting node to 2 node stnode->preptr = NULL; // set previous address of staring node is NULL free[NodeToDel]; // delete the first node from memory } } void displayDlList[int m] { struct node * tmp; int n = 1; if[stnode == NULL] { printf[" No data found in the List yet."]; } else { tmp = stnode; if [m==1] { printf["\n Data entered in the list are :\n"]; } else { printf["\n After deletion the new list are :\n"]; } while[tmp != NULL] { printf[" node %d : %d\n", n, tmp->num]; n++; tmp = tmp->nextptr; // current pointer moves to the next node } } }

Sample Output:

Doubly Linked List : Delete node from the beginning of a doubly linked list : ---------------------------------------------------------------------------------- Input the number of nodes [3 or more ]: 3 Input data for node 1 : 1 Input data for node 2 : 2 Input data for node 3 : 3 Data entered in the list are : node 1 : 1 node 2 : 2 node 3 : 3 After deletion the new list are : node 1 : 2 node 2 : 3

Flowchart:


DlListcreation[] :


DlListDeleteFirstNode[] :


displayDlList[] :


C Programming Code Editor:

Have another way to solve this solution? Contribute your code [and comments] through Disqus.

Previous: Write a program in C to insert a new node at the middle in a doubly linked list.
Next: Write a program in C to delete a node from the last of a doubly linked list.

What is the difficulty level of this exercise?

Easy Medium Hard


C Programming: Tips of the Day

How to compare strings in C conditional preprocessor-directives?

#define USER_JACK 1 #define USER_QUEEN 2 #define USER USER_JACK #if USER == USER_JACK #define USER_VS USER_QUEEN #elif USER == USER_QUEEN #define USER_VS USER_JACK #endif

Or you could refactor the code a little and use C code instead.

Ref : //bit.ly/3CNXzHb

  • New Content published on w3resource:
  • Scala Programming Exercises, Practice, Solution
  • Python Itertools exercises
  • Python Numpy exercises
  • Python GeoPy Package exercises
  • Python Pandas exercises
  • Python nltk exercises
  • Python BeautifulSoup exercises
  • Form Template
  • Composer - PHP Package Manager
  • PHPUnit - PHP Testing
  • Laravel - PHP Framework
  • Angular - JavaScript Framework
  • Vue - JavaScript Framework
  • Jest - JavaScript Testing Framework

Video liên quan

Chủ Đề