{"id":162,"date":"2023-03-02T00:54:57","date_gmt":"2023-03-02T00:54:57","guid":{"rendered":"https:\/\/alitousen.com\/?page_id=162"},"modified":"2025-03-14T14:36:54","modified_gmt":"2025-03-14T14:36:54","slug":"data-structure","status":"publish","type":"page","link":"https:\/\/alitousen.com\/?page_id=162","title":{"rendered":"Data Structure"},"content":{"rendered":"\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">In computer science, a data structure is a way of organizing and storing data in a computer&#8217;s memory. It provides a way to represent and manipulate data in a way that facilitates efficient access and modification of the data.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">Data structures can be implemented using various programming languages and can be classified into two main categories: primitive and non-primitive data structures.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">Primitive data structures are basic data types provided by programming languages such as integers, floating-point numbers, characters, and booleans. They are not modifiable and are used to represent simple values.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">Non-primitive data structures, on the other hand, are more complex and can be further divided into linear and nonlinear data structures. Linear data structures include arrays, linked lists, stacks, and queues, while nonlinear data structures include trees and graphs. Non-primitive data structures can be modified, and they can represent more complex relationships between data.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">Choosing the right data structure is essential to optimize the performance of algorithms that manipulate data. Data structures are a fundamental concept in computer science and are used extensively in programming and software development.<\/p>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">Here are some common data structure topics that you must know:<\/p>\n\n\n\n<ol class=\"has-white-color has-black-background-color has-text-color has-background\">\n<li>Arrays &#8211; a collection of elements of the same type that are stored in contiguous memory locations.<\/li>\n\n\n\n<li>Linked Lists &#8211; a data structure that consists of a sequence of nodes, each containing a reference to an object and a reference to the next node.<\/li>\n\n\n\n<li>Stacks &#8211; a data structure that stores and retrieves elements in a &#8220;last in, first out&#8221; (LIFO) manner.<\/li>\n\n\n\n<li>Queues &#8211; a data structure that stores and retrieves elements in a &#8220;first in, first out&#8221; (FIFO) manner.<\/li>\n\n\n\n<li>Trees &#8211; a hierarchical data structure that consists of nodes connected by edges, with a single node called the root.<\/li>\n\n\n\n<li>Graphs &#8211; a collection of vertices connected by edges, where each edge has a weight or cost associated with it.<\/li>\n\n\n\n<li>Hash Tables &#8211; a data structure that uses a hash function to map keys to values, allowing for efficient lookup and insertion.<\/li>\n\n\n\n<li>Heaps &#8211; a data structure that represents a partially ordered tree, where the value of each node is greater than or equal to (or less than or equal to) the values of its children.<\/li>\n\n\n\n<li>Tries &#8211; a tree-like data structure that is used to store and retrieve associative arrays, where each node represents a prefix of a key.<\/li>\n\n\n\n<li>Sorting Algorithms &#8211; algorithms that are used to sort a collection of elements in a specific order, such as ascending or descending order.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-pale-cyan-blue-color has-black-background-color has-text-color has-background\">Arrays<\/h2>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">An array is a fundamental data structure used in computer programming to store and organize a collection of elements of the same data type. These elements are stored in contiguous memory locations, making it easy to access and manipulate them efficiently.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#include &lt;iostream&gt;\n\nint main() {\n    \/\/ Declare an array of integers with a size of 5\n    int arr[5];\n\n    \/\/ Assign values to the array elements\n    arr[0] = 10;\n    arr[1] = 20;\n    arr[2] = 30;\n    arr[3] = 40;\n    arr[4] = 50;\n\n    \/\/ Access and print array elements\n    for (int i = 0; i &lt; 5; i++) {\n        std::cout &lt;&lt; &quot;Element at index &quot; &lt;&lt; i &lt;&lt; &quot;: &quot; &lt;&lt; arr[i] &lt;&lt; std::endl;\n    }\n\n    return 0;\n}\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#include <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">iostream<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">int <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Declare an array of integers with a size of 5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    int arr[<\/span><span style=\"color: #BF9EEE\">5<\/span><span style=\"color: #F6F6F4\">];<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Assign values to the array elements<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    arr[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">10<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    arr[<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">20<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    arr[<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">30<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    arr[<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">40<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    arr[<\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">50<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Access and print array elements<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> (int i <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">; i <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">5<\/span><span style=\"color: #F6F6F4\">; i<\/span><span style=\"color: #F286C4\">++<\/span><span style=\"color: #F6F6F4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        std::cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Element at index <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> arr[i] <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> std::endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-pale-cyan-blue-color has-black-background-color has-text-color has-background\">Linked List<\/h2>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\">A linked list is a linear data structure used in computer programming to organize and store a collection of elements, called nodes. Unlike arrays, which store elements in contiguous memory locations, linked lists store elements non-contiguously in memory and connect them using pointers.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#include&lt;iostream&gt;\nusing namespace std;\n\nclass Node {\npublic:\n    int data;\n    Node* next;\n\n    Node(int data) {\n        this-&gt;data = data;\n        this-&gt;next = NULL;\n    }\n};\n\nclass LinkedList {\npublic:\n    Node* head;\n\n    LinkedList() {\n        this-&gt;head = NULL;\n    }\n\n    void insert(int data) {\n        Node* newNode = new Node(data);\n        if (head == NULL) {\n            head = newNode;\n        }\n        else {\n            Node* temp = head;\n            while (temp-&gt;next != NULL) {\n                temp = temp-&gt;next;\n            }\n            temp-&gt;next = newNode;\n        }\n    }\n\n    void display() {\n        Node* temp = head;\n        while (temp != NULL) {\n            cout &lt;&lt; temp-&gt;data &lt;&lt; &quot; &quot;;\n            temp = temp-&gt;next;\n        }\n        cout &lt;&lt; endl;\n    }\n};\n\nint main() {\n    LinkedList linkedList;\n\n    linkedList.insert(1);\n    linkedList.insert(2);\n    linkedList.insert(3);\n\n    linkedList.display();\n\n    return 0;\n}\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#include<\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">iostream<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">using <\/span><span style=\"color: #F286C4\">namespace<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">std<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">class<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">Node<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">public<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">data<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> next;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">Node<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">data<\/span><span style=\"color: #F6F6F4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #BF9EEE; font-style: italic\">this<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">data <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> data;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #BF9EEE; font-style: italic\">this<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> NULL;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">class<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">LinkedList<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">public<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">Node<\/span><span style=\"color: #F6F6F4\">* <\/span><span style=\"color: #97E1F1; font-style: italic\">head<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">LinkedList<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #BF9EEE; font-style: italic\">this<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">head <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> NULL;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">insert<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">data<\/span><span style=\"color: #F6F6F4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> newNode <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">Node<\/span><span style=\"color: #F6F6F4\">(data);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (head <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> NULL) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            head <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> newNode;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> temp <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> head;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">while<\/span><span style=\"color: #F6F6F4\"> (temp<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next <\/span><span style=\"color: #F286C4\">!=<\/span><span style=\"color: #F6F6F4\"> NULL) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                temp <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> temp<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            temp<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> newNode;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">display<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> temp <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> head;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">while<\/span><span style=\"color: #F6F6F4\"> (temp <\/span><span style=\"color: #F286C4\">!=<\/span><span style=\"color: #F6F6F4\"> NULL) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> temp<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">data <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            temp <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> temp<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">int <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LinkedList linkedList;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    linkedList.<\/span><span style=\"color: #62E884\">insert<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    linkedList.<\/span><span style=\"color: #62E884\">insert<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    linkedList.<\/span><span style=\"color: #62E884\">insert<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    linkedList.<\/span><span style=\"color: #62E884\">display<\/span><span style=\"color: #F6F6F4\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-pale-cyan-blue-color has-black-background-color has-text-color has-background\">Stack<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#include &lt;iostream&gt;\nusing namespace std;\n\n#define MAX_SIZE 100\n\nclass Stack {\nprivate:\n    int top;\n    int arr[MAX_SIZE];\n\npublic:\n    Stack() {\n        top = -1;\n    }\n\n    bool isEmpty() {\n        return (top == -1);\n    }\n\n    bool isFull() {\n        return (top == MAX_SIZE - 1);\n    }\n\n    void push(int value) {\n        if (isFull()) {\n            cout &lt;&lt; &quot;Stack Overflow&quot; &lt;&lt; endl;\n            return;\n        }\n\n        arr[++top] = value;\n        cout &lt;&lt; value &lt;&lt; &quot; pushed to stack&quot; &lt;&lt; endl;\n    }\n\n    int pop() {\n        if (isEmpty()) {\n            cout &lt;&lt; &quot;Stack Underflow&quot; &lt;&lt; endl;\n            return -1;\n        }\n\n        int value = arr[top--];\n        return value;\n    }\n\n    int peek() {\n        if (isEmpty()) {\n            cout &lt;&lt; &quot;Stack is empty&quot; &lt;&lt; endl;\n            return -1;\n        }\n\n        return arr[top];\n    }\n};\n\nint main() {\n    Stack stack;\n\n    stack.push(1);\n    stack.push(2);\n    stack.push(3);\n\n    cout &lt;&lt; stack.pop() &lt;&lt; &quot; popped from stack&quot; &lt;&lt; endl;\n\n    cout &lt;&lt; &quot;Top element of stack: &quot; &lt;&lt; stack.peek() &lt;&lt; endl;\n\n    return 0;\n}\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#include <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">iostream<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">using <\/span><span style=\"color: #F286C4\">namespace<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">std<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">#define MAX_SIZE <\/span><span style=\"color: #BF9EEE\">100<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">class<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">Stack<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">private<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">top<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    int arr[MAX_SIZE];<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">public<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">Stack<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        top <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    bool <\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> (top <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    bool <\/span><span style=\"color: #62E884\">isFull<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> (top <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> MAX_SIZE <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">push<\/span><span style=\"color: #F6F6F4\">(int value) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isFull<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Stack Overflow<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        arr[<\/span><span style=\"color: #F286C4\">++<\/span><span style=\"color: #F6F6F4\">top] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> value;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> value <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\"> pushed to stack<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    int <\/span><span style=\"color: #62E884\">pop<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Stack Underflow<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        int value <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> arr[top<\/span><span style=\"color: #F286C4\">--<\/span><span style=\"color: #F6F6F4\">];<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> value;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    int <\/span><span style=\"color: #62E884\">peek<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Stack is empty<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> arr[top];<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">int <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    Stack stack;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    stack.<\/span><span style=\"color: #62E884\">push<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    stack.<\/span><span style=\"color: #62E884\">push<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    stack.<\/span><span style=\"color: #62E884\">push<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> stack.<\/span><span style=\"color: #62E884\">pop<\/span><span style=\"color: #F6F6F4\">() <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\"> popped from stack<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Top element of stack: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> stack.<\/span><span style=\"color: #62E884\">peek<\/span><span style=\"color: #F6F6F4\">() <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> endl;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-pale-cyan-blue-color has-black-background-color has-text-color has-background\">Queues<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#include &lt;iostream&gt;\n\ntemplate &lt;typename T&gt;\nclass Queue {\nprivate:\n    struct Node {\n        T data;\n        Node* next;\n        Node(const T&amp; value) : data(value), next(nullptr) {}\n    };\n\n    Node* front;\n    Node* rear;\n\npublic:\n    Queue() : front(nullptr), rear(nullptr) {}\n    ~Queue() {\n        while (!isEmpty()) {\n            dequeue();\n        }\n    }\n\n    bool isEmpty() const {\n        return front == nullptr;\n    }\n\n    void enqueue(const T&amp; value) {\n        Node* newNode = new Node(value);\n\n        if (isEmpty()) {\n            front = rear = newNode;\n        } else {\n            rear-&gt;next = newNode;\n            rear = newNode;\n        }\n    }\n\n    void dequeue() {\n        if (isEmpty()) {\n            std::cout &lt;&lt; &quot;Queue is empty. Cannot dequeue from an empty queue.&quot; &lt;&lt; std::endl;\n            return;\n        }\n\n        Node* temp = front;\n        front = front-&gt;next;\n        if (front == nullptr) {\n            rear = nullptr;\n        }\n        delete temp;\n    }\n\n    T&amp; getFront() {\n        if (isEmpty()) {\n            throw std::runtime_error(&quot;Queue is empty. Cannot get the front element from an empty queue.&quot;);\n        }\n        return front-&gt;data;\n    }\n};\n\n\/\/ Example usage\nint main() {\n    Queue&lt;int&gt; myQueue;\n    myQueue.enqueue(10);\n    myQueue.enqueue(20);\n    myQueue.enqueue(30);\n\n    std::cout &lt;&lt; &quot;Front element of the queue: &quot; &lt;&lt; myQueue.getFront() &lt;&lt; std::endl;\n\n    while (!myQueue.isEmpty()) {\n        std::cout &lt;&lt; myQueue.getFront() &lt;&lt; &quot; &quot;;\n        myQueue.dequeue();\n    }\n\n    return 0;\n}\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#include <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">iostream<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">template <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">typename T<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">class<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">Queue<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">private<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">struct<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">Node<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        T data;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> next;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">Node<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">const<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">T<\/span><span style=\"color: #F6F6F4\">&amp; <\/span><span style=\"color: #FFB86C; font-style: italic\">value<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">data<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #97E1F1; font-style: italic\">value<\/span><span style=\"color: #F6F6F4\">), <\/span><span style=\"color: #62E884\">next<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">nullptr<\/span><span style=\"color: #F6F6F4\">) {}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    };<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> front;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> rear;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">public:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">Queue<\/span><span style=\"color: #F6F6F4\">() : <\/span><span style=\"color: #62E884\">front<\/span><span style=\"color: #F6F6F4\">(nullptr), <\/span><span style=\"color: #62E884\">rear<\/span><span style=\"color: #F6F6F4\">(nullptr) {}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">~<\/span><span style=\"color: #62E884\">Queue<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">while<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #F286C4\">!<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #62E884\">dequeue<\/span><span style=\"color: #F6F6F4\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    bool <\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">() <\/span><span style=\"color: #F286C4\">const<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        return front == nullptr;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">enqueue<\/span><span style=\"color: #F6F6F4\">(const T<\/span><span style=\"color: #F286C4\">&amp;<\/span><span style=\"color: #F6F6F4\"> value) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> newNode <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">Node<\/span><span style=\"color: #F6F6F4\">(value);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            front <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> rear <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> newNode;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        } <\/span><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            rear<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> newNode;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            rear <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> newNode;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">dequeue<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            std::cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Queue is empty. Cannot dequeue from an empty queue.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> std::endl;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        Node<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> temp <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> front;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        front <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> front<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">next;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (front <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> nullptr) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            rear <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> nullptr;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">delete<\/span><span style=\"color: #F6F6F4\"> temp;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    T<\/span><span style=\"color: #F286C4\">&amp;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">getFront<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">            <\/span><span style=\"color: #F286C4\">throw<\/span><span style=\"color: #F6F6F4\"> std::<\/span><span style=\"color: #62E884\">runtime_error<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Queue is empty. Cannot get the front element from an empty queue.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> front<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">data;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\">\/\/ Example usage<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">int <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    Queue<\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">int<\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> myQueue;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    myQueue.<\/span><span style=\"color: #62E884\">enqueue<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">10<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    myQueue.<\/span><span style=\"color: #62E884\">enqueue<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">20<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    myQueue.<\/span><span style=\"color: #62E884\">enqueue<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">30<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    std::cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Front element of the queue: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> myQueue.<\/span><span style=\"color: #62E884\">getFront<\/span><span style=\"color: #F6F6F4\">() <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> std::endl;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">while<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #F286C4\">!<\/span><span style=\"color: #F6F6F4\">myQueue.<\/span><span style=\"color: #62E884\">isEmpty<\/span><span style=\"color: #F6F6F4\">()) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        std::cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> myQueue.<\/span><span style=\"color: #62E884\">getFront<\/span><span style=\"color: #F6F6F4\">() <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        myQueue.<\/span><span style=\"color: #62E884\">dequeue<\/span><span style=\"color: #F6F6F4\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-pale-cyan-blue-color has-black-background-color has-text-color has-background\">Tree<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#include &lt;iostream&gt;\n#include &lt;vector&gt;\n\nusing namespace std;\n\n\/\/ Tree Node\nclass TreeNode {\npublic:\n    int val;\n    vector&lt;TreeNode*&gt; children;\n\n    TreeNode(int x) : val(x) {}\n};\n\n\/\/ Tree Traversal\nvoid preOrder(TreeNode* root) {\n    if (root == nullptr) return;\n\n    cout &lt;&lt; root-&gt;val &lt;&lt; &quot; &quot;;\n    for (TreeNode* child : root-&gt;children) {\n        preOrder(child);\n    }\n}\n\nint main() {\n    \/\/ Create Tree\n    TreeNode* root = new TreeNode(1);\n    \n    TreeNode* node2 = new TreeNode(2);\n    TreeNode* node3 = new TreeNode(3);\n    TreeNode* node4 = new TreeNode(4);\n    TreeNode* node5 = new TreeNode(5);\n\n    root-&gt;children.push_back(node2);\n    root-&gt;children.push_back(node3);\n    root-&gt;children.push_back(node4);\n    node3-&gt;children.push_back(node5);\n\n    \/\/ Traverse Tree (preorder)\n    cout &lt;&lt; &quot;Tree traversal (preorder): &quot;;\n    preOrder(root);\n\n    return 0;\n}\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">#include <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">iostream<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">#include <\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">vector<\/span><span style=\"color: #F286C4\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">using <\/span><span style=\"color: #F286C4\">namespace<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">std<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\">\/\/ Tree Node<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">class<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">TreeNode<\/span><span style=\"color: #F6F6F4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">public<\/span><span style=\"color: #F286C4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">val<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    vector<\/span><span style=\"color: #F286C4\">&lt;<\/span><span style=\"color: #F6F6F4\">TreeNode<\/span><span style=\"color: #F286C4\">*&gt;<\/span><span style=\"color: #F6F6F4\"> children;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">int<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">val<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #97E1F1; font-style: italic\">x<\/span><span style=\"color: #F6F6F4\">) {}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\">\/\/ Tree Traversal<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">void<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">preOrder<\/span><span style=\"color: #F6F6F4\">(TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> root) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> (root <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> nullptr) <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> root<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">val <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> (TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> child : root<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">children) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">preOrder<\/span><span style=\"color: #F6F6F4\">(child);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">int <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Create Tree<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> root <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> node2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> node3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> node4 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    TreeNode<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> node5 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4; font-weight: bold\">new<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TreeNode<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">5<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    root<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">children.<\/span><span style=\"color: #62E884\">push_back<\/span><span style=\"color: #F6F6F4\">(node2);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    root<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">children.<\/span><span style=\"color: #62E884\">push_back<\/span><span style=\"color: #F6F6F4\">(node3);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    root<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">children.<\/span><span style=\"color: #62E884\">push_back<\/span><span style=\"color: #F6F6F4\">(node4);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    node3<\/span><span style=\"color: #F286C4\">-&gt;<\/span><span style=\"color: #F6F6F4\">children.<\/span><span style=\"color: #62E884\">push_back<\/span><span style=\"color: #F6F6F4\">(node5);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\">\/\/ Traverse Tree (preorder)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    cout <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Tree traversal (preorder): <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">preOrder<\/span><span style=\"color: #F6F6F4\">(root);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In computer science, a data structure is a way of organizing and storing data in a computer&#8217;s memory. It provides a way to represent and manipulate data in a way that facilitates efficient access and modification of the data. Data structures can be implemented using various programming languages and can be classified into two main [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/pages\/162"}],"collection":[{"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alitousen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=162"}],"version-history":[{"count":7,"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/pages\/162\/revisions"}],"predecessor-version":[{"id":277,"href":"https:\/\/alitousen.com\/index.php?rest_route=\/wp\/v2\/pages\/162\/revisions\/277"}],"wp:attachment":[{"href":"https:\/\/alitousen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}