{"id":5854,"date":"2021-10-26T09:41:14","date_gmt":"2021-10-26T09:41:14","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=5854"},"modified":"2023-07-27T12:19:27","modified_gmt":"2023-07-27T12:19:27","slug":"menu-driven-program-for-all-operations-on-doubly-linked-list-in-c","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/","title":{"rendered":"Menu Driven Program For All Operations On Doubly Linked List in C"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\" alt=\"\" \/><\/p>\n<p>We will examine how to program a menu-driven program in C that performs all operations on a doubly linked list in the article below. Usually, a doubly linked list consists of three main parts: the data section, the reference to the next node, and the reference to the previous node.<\/p>\n<h2>Operations of Doubly Linked List in C<\/h2>\n<ul>\n<li><strong>traverse():<\/strong> traverse() function traverses the linked list and prints the node\u2019s data of the doubly linked list.<\/li>\n<li><strong>insertAtFront():<\/strong> function to insert an element at the front of the doubly linked list.<\/li>\n<li><strong>insertAtEnd():<\/strong> function to insert an element at the end of the doubly linked list.<\/li>\n<li><strong>insertAtPosition():<\/strong> function to insert an element at a given position in the doubly linked list.<\/li>\n<li><strong>deleteFirst():<\/strong> function to delete an element from the front of the doubly linked list.<\/li>\n<li><strong>deleteEnd():<\/strong> function to delete an element from the end of the doubly linked list.<\/li>\n<li><strong>deletePosition():<\/strong> function to delete an element from a given position in the doubly linked list.<\/li>\n<\/ul>\n<h3>Dry Run of the Operations of Doubly Linked List<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_1-7.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_2-7.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_3-5.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_4-3.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_5-2.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_6_7.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/10\/p_8.jpg\" alt=\"\" \/><\/p>\n<h3>Code Implementation of Menu Driven Program of Operations of Doubly linked list<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_5870 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_5870 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_5870 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_5870 .wpsm_nav-tabs > li.active > a, #tab_container_5870 .wpsm_nav-tabs > li.active > a:hover, #tab_container_5870 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_5870 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_5870 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_5870 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_5870 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_5870 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_5870 .wpsm_nav-tabs > li > a:hover , #tab_container_5870 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_5870 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_5870 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_5870 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_5870 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_5870 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_5870 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_5870 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_5870 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_5870 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_5870 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_5870 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_5870\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_5870\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_5870_1\" aria-controls=\"tabs_desc_5870_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_5870\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_5870_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include <stdio.h>\r\n#include <stdlib.h>\r\n \r\n\/\/ Node Structure of the linked list\r\nstruct node {\r\n    int data;\r\n    struct node *prev, *next;\r\n};\r\nstruct node* start = NULL;\r\n \r\n\/\/ Function to traverse and print the linked list\r\nvoid traverse(){\r\n    \/\/ List is empty\r\n    \/\/ just return \r\n    if (start == NULL) {\r\n        printf(\"&#92;nList is empty&#92;n\");\r\n        return;\r\n    }\r\n    \/\/ Else print the Node's Data\r\n    struct node* temp;\r\n    temp = start;\r\n    while (temp != NULL) {\r\n        printf(\"Data = %d&#92;n\", temp->data);\r\n        temp = temp->next;\r\n    }\r\n}\r\n \r\n\/\/ function to insert node at the front\r\n\/\/ of the linked list\r\nvoid insertAtFront(){\r\n    int data;\r\n    struct node* temp;\r\n    temp = (struct node*)malloc(sizeof(struct node));\r\n    printf(\"&#92;nEnter number to be inserted: \");\r\n    scanf(\"%d\", &data);\r\n    temp->data = data;\r\n    temp->prev = NULL;\r\n \r\n    \/\/ Pointer of temp will be assigned to start\r\n    temp->next = start;\r\n    start = temp;\r\n}\r\n \r\n\/\/ function to insert at the end of the linked list\r\nvoid insertAtEnd(){\r\n    int data;\r\n    struct node *temp, *trav;\r\n    temp = (struct node*)malloc(sizeof(struct node));\r\n    temp->prev = NULL;\r\n    temp->next = NULL;\r\n    printf(\"&#92;nEnter number to be inserted: \");\r\n    scanf(\"%d\", &data);\r\n    temp->data = data;\r\n    temp->next = NULL;\r\n    trav = start;\r\n \r\n    \/\/ If start is NULL\r\n    if (start == NULL) {\r\n \r\n        start = temp;\r\n    }\r\n \r\n    \/\/ Changes Links\r\n    else {\r\n        while (trav->next != NULL)\r\n            trav = trav->next;\r\n        temp->prev = trav;\r\n        trav->next = temp;\r\n    }\r\n}\r\n \r\n\/\/ Function to insert at any given position in the linked list\r\nvoid insertAtPosition(){\r\n    int data, pos, i = 1;\r\n    struct node *temp, *newnode;\r\n    newnode = malloc(sizeof(struct node));\r\n    newnode->next = NULL;\r\n    newnode->prev = NULL;\r\n \r\n    \/\/ Enter the position and data\r\n    printf(\"&#92;nEnter position : \");\r\n    scanf(\"%d\", &pos);\r\n    printf(\"&#92;nEnter number to be inserted: \");\r\n    scanf(\"%d\", &data);\r\n    newnode->data = data;\r\n    temp = start;\r\n \r\n    \/\/ If start==NULL,\r\n    if (start == NULL) {\r\n        start = newnode;\r\n        newnode->prev = NULL;\r\n        newnode->next = NULL;\r\n    }\r\n \r\n    \/\/ If position==1,\r\n    else if (pos == 1) {\r\n        newnode->next = start;\r\n        newnode->next->prev = newnode;\r\n        newnode->prev = NULL;\r\n        start = newnode;\r\n    }\r\n \r\n    \/\/ Change links\r\n    else {\r\n        while (i < pos - 1) {\r\n            temp = temp->next;\r\n            i++;\r\n        }\r\n        newnode->next = temp->next;\r\n        newnode->prev = temp;\r\n        temp->next = newnode;\r\n        temp->next->prev = newnode;\r\n    }\r\n}\r\n \r\n\/\/ function to delete from the front of the linked list\r\nvoid deleteFirst(){\r\n    struct node* temp;\r\n    if (start == NULL)\r\n        printf(\"&#92;nList is empty&#92;n\");\r\n    else {\r\n        temp = start;\r\n        start = start->next;\r\n        if (start != NULL)\r\n            start->prev = NULL;\r\n        free(temp);\r\n    }\r\n}\r\n \r\n\/\/ function to delete from the end\r\n\/\/ of the linked list\r\nvoid deleteEnd(){\r\n    struct node* temp;\r\n    if (start == NULL)\r\n        printf(\"&#92;nList is empty&#92;n\");\r\n    temp = start;\r\n    while (temp->next != NULL)\r\n        temp = temp->next;\r\n    if (start->next == NULL)\r\n        start = NULL;\r\n    else {\r\n        temp->prev->next = NULL;\r\n        free(temp);\r\n    }\r\n}\r\n \r\n\/\/ function to delete from any given\r\n\/\/ position from the linked list\r\nvoid deletePosition(){\r\n    int pos, i = 1;\r\n    struct node *temp, *position;\r\n    temp = start;\r\n \r\n    \/\/ If DLL is empty\r\n    if (start == NULL)\r\n        printf(\"&#92;nList is empty&#92;n\");\r\n \r\n    \/\/ Otherwise\r\n    else {\r\n        \/\/ Position to be deleted\r\n        printf(\"&#92;nEnter position : \");\r\n        scanf(\"%d\", &pos);\r\n \r\n        \/\/ If the position is the first node\r\n        if (pos == 1) {\r\n            position = start;\r\n            start = start->next;\r\n            if (start != NULL) {\r\n                start->prev = NULL;\r\n            }\r\n            free(position);\r\n            return;\r\n        }\r\n \r\n        \/\/ Traverse till position\r\n        while (i < pos - 1) {\r\n            temp = temp->next;\r\n            i++;\r\n        }\r\n        \/\/ Change Links\r\n        position = temp->next;\r\n        if (position->next != NULL)\r\n            position->next->prev = temp;\r\n        temp->next = position->next;\r\n \r\n        \/\/ Free memory\r\n        free(position);\r\n    }\r\n}\r\n \r\nint main(){\r\n    int choice;\r\n    while (1) {\r\n \r\n        printf(\"&#92;n&#92;t1 To see list&#92;n\");\r\n        printf(\"&#92;t2 For insertion at\"\r\n            \" starting&#92;n\");\r\n        printf(\"&#92;t3 For insertion at\"\r\n            \" end&#92;n\");\r\n        printf(\"&#92;t4 For insertion at \"\r\n            \"any position&#92;n\");\r\n        printf(\"&#92;t5 For deletion of \"\r\n            \"first element&#92;n\");\r\n        printf(\"&#92;t6 For deletion of \"\r\n            \"last element&#92;n\");\r\n        printf(\"&#92;t7 For deletion of \"\r\n            \"element at any position&#92;n\");\r\n        printf(\"&#92;t8 To exit&#92;n\");\r\n        printf(\"&#92;nEnter Choice :&#92;n\");\r\n        scanf(\"%d\", &choice);\r\n \r\n        switch (choice) {\r\n        case 1:\r\n            traverse();\r\n            break;\r\n        case 2:\r\n            insertAtFront();\r\n            break;\r\n        case 3:\r\n            insertAtEnd();\r\n            break;\r\n        case 4:\r\n            insertAtPosition();\r\n            break;\r\n        case 5:\r\n            deleteFirst();\r\n            break;\r\n        case 6:\r\n            deleteEnd();\r\n            break;\r\n        case 7:\r\n            deletePosition();\r\n            break;\r\n \r\n        case 8:\r\n            exit(1);\r\n            break;\r\n        default:\r\n            printf(\"Incorrect Choice. Try Again &#92;n\");\r\n            continue;\r\n        }\r\n    }\r\n    return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_5870 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_5870 a\"),jQuery(\"#tab-content_5870\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output<\/strong><\/p>\n<pre><code>        1 To see list\n        2 For insertion at starting\n        3 For insertion at end\n        4 For insertion at any position\n        5 For deletion of first element\n        6 For deletion of last element\n        7 For deletion of element at any position\n        8 To exit\n\nEnter Choice :\n2\n\nEnter number to be inserted: 4\n\n        1 To see list\n        2 For insertion at starting\n        3 For insertion at end\n        4 For insertion at any position\n        5 For deletion of first element\n        6 For deletion of last element\n        7 For deletion of element at any position\n        8 To exit\n\nEnter Choice :\n3\n\nEnter number to be inserted: 11\n\n        1 To see list\n        2 For insertion at starting\n        3 For insertion at end\n        4 For insertion at any position\n        5 For deletion of first element\n        6 For deletion of last element\n        7 For deletion of element at any position\n        8 To exit\n\nEnter Choice :\n3\n\nEnter number to be inserted: 9\n\n        1 To see list\n        2 For insertion at starting\n        3 For insertion at end\n        4 For insertion at any position\n        5 For deletion of first element\n        6 For deletion of last element\n        7 For deletion of element at any position\n        8 To exit\n\nEnter Choice :\n1\nData = 4\nData = 11\nData = 9<\/code><\/pre>\n<p><strong>Time Complexities<\/strong><br \/>\nO(n):- traverse(), deleteEnd(), insertEnd(), deletePosition() and insertPosition().<br \/>\nO(1):-  insertFront(), deleteFront().<\/p>\n<p><strong>Note:<\/strong> We are only given a pointer to the head of the doubly linked list.<\/p>\n<p><strong>Conclusion<\/strong><br \/>\nIn conclusion, the menu-driven program for all operations on a doubly linked list in C provides a user-friendly interface to perform various operations on a doubly linked list. The program enables users to manage a doubly linked list effectively through various essential operations. Users can create the list, insert elements at the beginning, end, or a specific position, delete elements, display the list&#8217;s contents, search for elements, and perform other crucial tasks. With a menu-based approach, the program streamlines the interaction with the doubly linked list, making it user-friendly and straightforward to manipulate the list.<\/p>\n<h2>FAQs related to Menu Driven Program For All Operations On Doubly Linked List in C :<\/h2>\n<p><strong>Q1: What is a doubly linked list?<\/strong><br \/>\n<strong>Ans.<\/strong> A doubly linked list is a type of linked list where each node contains two pointers, one pointing to the previous node and another pointing to the next node. This structure allows for efficient traversal in both directions.<\/p>\n<p><strong>Q2: Why use a menu-driven program for operations on a doubly linked list?<\/strong><br \/>\n<strong>Ans.<\/strong> A menu-driven program provides a user-friendly interface that allows users to select desired operations without the need to remember complex commands or syntax. It simplifies the interaction and improves usability.<\/p>\n<p><strong>Q3: What operations can be performed on a doubly linked list using the menu-driven program?<\/strong><br \/>\n<strong>Ans.<\/strong> The menu-driven program typically supports operations such as creating a list, inserting elements at various positions, deleting elements, searching for an element, displaying the contents of the list, counting the number of elements, reversing the list, and more.<\/p>\n<p><strong>Q4: How can I compile and run the menu-driven program in C?<\/strong><br \/>\n<strong>Ans.<\/strong> To compile the program, you need a C compiler such as GCC. Save the program with a .c extension and use the command &quot;gcc -o program_name program_name.c&quot; to compile it. Then, run the compiled program using the command &quot;.\/program_name&quot;.<\/p>\n<p><strong>Q5: What if I encounter errors or issues with the program?<\/strong><br \/>\n<strong>Ans.<\/strong> If you encounter any errors or issues with the program, you can try debugging it by checking the code for errors, ensuring proper syntax and logic. Additionally, you can seek help from programming communities or forums to get assistance in resolving the problems you face.<\/p>\n<p><strong>Q6: Can I modify the program to add additional functionalities?<\/strong><br \/>\n<strong>Ans.<\/strong> Yes, you can modify the program according to your requirements. The code can be extended to include additional functionalities or customize existing operations based on your specific needs. Be sure to understand the code structure and make necessary modifications while maintaining its integrity.<\/p>\n<table width=\"641\">\n<tbody>\n<tr>\n<td colspan=\"2\" width=\"641\" style=\"text-align: center\"><strong>Related Articles<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/doubly-circular-linked-list-introduction-and-insertion\/\">Doubly circular linked list in data structure<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/advantages-disadvantages-and-uses-of-a-doubly-linked-list\/\">Application of doubly linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/applications-of-linked-list-data-structure\/\">Applications of linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/difference-between-a-singly-linked-list-and-a-doubly-linked-list\/\">Singly linked list vs doubly linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/advantage-and-disadvantage-of-linked-list-over-array\/\">Advantages and disadvantages of linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list-articles\/student-record-management-system-using-linked-list\/\">Student management system using linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/binary-search\/binary-search-on-linked-list\/\">Binary search in linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/bubble-sort-for-linked-list-by-swapping-nodes\/\">Bubble sort linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-a-node-in-doubly-linked-list\/\">Deletion in doubly linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-middle-of-linked-list\/\">Delete the middle node of a linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/adding-two-polynomials-using-linked-list\/\">Polynomial addition using linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/find-the-smallest-and-largest-elements-in-a-singly-linked-list\/\">Find max value and min value in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/insert-a-node-at-a-specific-position-in-a-linked-list\/\">Insert a node at a specific position in a linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/swap-nodes-in-a-linked-list-without-swapping-data\/\">Swap nodes in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/add-two-numbers-represented-by-linked-lists-set-1\/\">Add two numbers represented by linked lists<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/find-the-first-node-of-the-loop-in-a-linked-list\/\">Find starting point of loop in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/merge-sort-on-a-singly-linked-list\/\">Merge sort linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-a-node-at-a-given-position\/\">Delete a node from linked list at a given position<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/remove-duplicates-from-an-unsorted-linked-list\/\">Remove duplicates from unsorted linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/python\/python-program-to-reverse-a-linked-list\/\">Reverse a linked list in Python<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>We will examine how to program a menu-driven program in C that performs all operations on a doubly linked list in the article below. Usually, a doubly linked list consists of three main parts: the data section, the reference to the next node, and the reference to the previous node. Operations of Doubly Linked List [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[125],"tags":[],"class_list":["post-5854","post","type-post","status-publish","format-standard","hentry","category-linked-list"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Menu Driven Program For All Operations On Doubly Linked List in C<\/title>\n<meta name=\"description\" content=\"Learn how to code a menu-driven program for all operations of doubly linked list in C.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Menu Driven Program For All Operations On Doubly Linked List in C\" \/>\n<meta property=\"og:description\" content=\"Learn how to code a menu-driven program for all operations of doubly linked list in C.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-26T09:41:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-27T12:19:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\" \/>\n<meta name=\"author\" content=\"PrepBytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"PrepBytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\"},\"author\":{\"name\":\"PrepBytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e\"},\"headline\":\"Menu Driven Program For All Operations On Doubly Linked List in C\",\"datePublished\":\"2021-10-26T09:41:14+00:00\",\"dateModified\":\"2023-07-27T12:19:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\"},\"wordCount\":785,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\",\"name\":\"Menu Driven Program For All Operations On Doubly Linked List in C\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\",\"datePublished\":\"2021-10-26T09:41:14+00:00\",\"dateModified\":\"2023-07-27T12:19:27+00:00\",\"description\":\"Learn how to code a menu-driven program for all operations of doubly linked list in C.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linked list articles\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/linked-list\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Menu Driven Program For All Operations On Doubly Linked List in C\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e\",\"name\":\"PrepBytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"caption\":\"PrepBytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Menu Driven Program For All Operations On Doubly Linked List in C","description":"Learn how to code a menu-driven program for all operations of doubly linked list in C.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/","og_locale":"en_US","og_type":"article","og_title":"Menu Driven Program For All Operations On Doubly Linked List in C","og_description":"Learn how to code a menu-driven program for all operations of doubly linked list in C.","og_url":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-10-26T09:41:14+00:00","article_modified_time":"2023-07-27T12:19:27+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png","type":"","width":"","height":""}],"author":"PrepBytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"PrepBytes","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/"},"author":{"name":"PrepBytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e"},"headline":"Menu Driven Program For All Operations On Doubly Linked List in C","datePublished":"2021-10-26T09:41:14+00:00","dateModified":"2023-07-27T12:19:27+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/"},"wordCount":785,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/","url":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/","name":"Menu Driven Program For All Operations On Doubly Linked List in C","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png","datePublished":"2021-10-26T09:41:14+00:00","dateModified":"2023-07-27T12:19:27+00:00","description":"Learn how to code a menu-driven program for all operations of doubly linked list in C.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645012340283-Article_208.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Linked list articles","item":"https:\/\/prepbytes.com\/blog\/category\/linked-list\/"},{"@type":"ListItem","position":3,"name":"Menu Driven Program For All Operations On Doubly Linked List in C"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e","name":"PrepBytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","caption":"PrepBytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=5854"}],"version-history":[{"count":12,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5854\/revisions"}],"predecessor-version":[{"id":17376,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5854\/revisions\/17376"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=5854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=5854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=5854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}