Skip to content

Conversation

aditya-chouksey
Copy link

@aditya-chouksey aditya-chouksey commented Oct 17, 2025

This C program implements a Doubly Linked List (DLL), a linear data structure in which each node contains three parts — data, a pointer to the previous node, and a pointer to the next node. Unlike a singly linked list, a doubly linked list allows bidirectional traversal, enabling easier insertion and deletion from both ends of the list.

The program provides a menu-driven interface that allows users to:

Insert a node at the beginning of the list

Insert a node at the end of the list

Delete a specific node by its value

Display the list in forward order (from head to tail)

Display the list in reverse order (from tail to head)

It uses dynamic memory allocation (malloc) for creating new nodes and ensures that node connections are properly updated during insertions and deletions. The program continues running until the user chooses to exit.

Description of Change

References

Checklist

  • Added description of change
  • Added file name matches File name guidelines
  • Added tests and example, test must pass
  • Relevant documentation/comments is changed or added
  • PR title follows semantic commit guidelines
  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • I acknowledge that all my contributions will be made under the project's license.

Notes:

This C program implements a Doubly Linked List (DLL), a linear data structure in which each node contains three parts — data, a pointer to the previous node, and a pointer to the next node. Unlike a singly linked list, a doubly linked list allows bidirectional traversal, enabling easier insertion and deletion from both ends of the list.

The program provides a menu-driven interface that allows users to:

Insert a node at the beginning of the list

Insert a node at the end of the list

Delete a specific node by its value

Display the list in forward order (from head to tail)

Display the list in reverse order (from tail to head)

It uses dynamic memory allocation (malloc) for creating new nodes and ensures that node connections are properly updated during insertions and deletions. The program continues running until the user chooses to exit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant